LINQ对实体的一些误解

本文关键字:误解 实体 LINQ | 更新日期: 2023-09-27 18:08:57

我有这个链接到实体行:

myentity.CityType.Add(context.Set<SiteCityType>().FindAsync(2));

实体myentitySiteCityType是定义实体。而CityType是在myentity entity:

中定义的导航属性
    public virtual ICollection<SiteCityType> CityType { get; set; }

上面的linq行工作正常,但我需要FindAsync方法get List:

myentity.CityType.Add(context.Set<SiteCityType>().FindAsync('some list of ints'));

知道如何实现它吗?

LINQ对实体的一些误解

尝试创建扩展方法:

    public static IEnumerable<SiteCityType> FindById(this SiteCityTypeRepository repository, int[] ids)
    {
        var result = from pr in repository.All() 
                     where ids.Contains(pr.ID)
                     select pr;
        return result.ToList();
    }

我建议"All()"方法返回非内存对象,例如IQueryable。所以实际的实现取决于你的架构。