【发布时间】:2020-06-07 10:40:08
【问题描述】:
我有一个基于 ASP.NET Core 3.1 的项目,我使用 Entity Framework Core 3.1 作为 ORM。
我有以下两个实体模型
public class PropertyToList
{
public int Id { get; set; }
public int ListId { get; set; }
public int UserId { get; set; }
public int PropertyId { get; set; }
// ... Other properties removed for the sake of simplicity
public virtual Property Property { get; set; }
}
public class Property
{
public int Id { get; set; }
// ... Other properties removed for the sake of simplicity
public int TypeId { get; set; }
public int StatusId { get; set; }
public int CityId { get; set; }
public virtual Type Type { get; set; }
public virtual Status Status { get; set; }
public virtual City City { get; set; }
}
我正在尝试查询与用户相关的所有属性。 PropertyToList 对象告诉我用户是否与属性相关。这是我所做的
// I start the query at a relation object
IQueryable<Property> query = DataContext.PropertyToLists.Where(x => x.Selected == true)
.Where(x => x.UserId == userId && x.ListId == listId)
// After identifying the relations that I need,
// I only need to property object "which is a virtual property in" the relation object
.Select(x => x.Property)
// Here I am including relations from the Property virtual property which are virtual properties
// on the Property
.Include(x => x.City)
.Include(x => x.Type)
.Include(x => x.Status);
List<Property> properties = await query.ToListAsync();
但是那个代码抛出了这个错误
包含已用于非实体可查询
什么可能导致这个问题?我该如何解决?
【问题讨论】:
标签: entity-framework asp.net-core .net-core entity-framework-core .net-core-3.1