我有一个表Admins,它在用户和位置之间创建关系:
ID - numeric (PK)
UserId - uniqueidentifier (FK to UserId in aspnet_Users table)
LocationId - numeric
现在我要执行命令:
IQueryable<decimal> location_ids = (from m in _db.Admins
where m.UserId.Equals( new Guid("c5d3dc0e-81e6-4d6b-a9c3-faa802e10b7d")) && m.LocationId.Equals(conf.umisteni.Budova.ID)
select m.LocationId);
但由于某种原因(我猜UserId是FK)m.UserId无法解析。所以我试着用
m.aspnet_UsersReference.Value.UserId
然后是决定声明
if (!location_ids.Any())
失败,异常
System.NotSupportedException: The specified type member 'aspnet_UsersReference' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
我应该怎么做以获取可枚举的LocationIds列表?
提前致谢。
答案 0 :(得分:2)
你错过了'用户'和点:
var location_ids = (from m in _db.Admins
where m.Users.UserId.Equals(
new Guid("c5d3dc0e-81e6-4d6b-a9c3-faa802e10b7d")) &&
m.LocationId.Equals(conf.umisteni.Budova.ID)
select m.LocationId);
基本上,您需要直接使用“用户”关系。