0
我有以下三個實體類:LINQ到實體JOIN意想不到的結果
public class ApplicationUser : IdentityUser
{
public override string Id { get; set; }
[DefaultValue(false)]
[DisplayName("Is Active?")]
public bool IsActive { get; set; }
}
public class Reseller : Organisation
{
//public List<EmailAddress> EmailAdresses { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
public override string EmailAddress { get; set; }
public List<Client> Clients { get; set; }
public List<ResellerUserConnector> Users { get; set; }
}
public class ResellerUserConnector
{
public ResellerUserConnector() { }
public ResellerUserConnector(string userId)
{
this.UserId = userId;
}
public Int64 Id { get; set; }
public string UserId { get; set; }
public Int64 ResellerId { get; set; }
public Reseller Reseller { get; set; }
}
從邏輯上講,Reseller
可以有零個或多個ApplicationUsers
。但是,由於某些限制,我們不允許將Reseller
作爲ICollection<ApplicationUser>
財產。 EF也無法處理存儲ICollection<string> property
。因此我創建了「聯想」實體ResellerUserConnector
。
但是,我在檢索給定的Reseller
的ApplicationUser實例列表方面沒有成功(儘管直接瀏覽數據庫顯示值和鍵已正確存儲在數據庫中)。
這是LINQ to Entity代碼,它無法檢索給定Reseller
的List<ApplicationUser>
實例。
List<ApplicationUser> users = (from u in identityDb.Users
join ru in r.Users on u.Id equals ru.UserId
select u).ToList<ApplicationUser>();
我是一個LINQ小白所以請幫助一個小夥子出來......
謝謝,這個工作。只要我被允許,將其標記爲答案;) –