1
我建立一個模型如下。 Recycler和Account之間的關係是1:1。爲什麼我不能做ToList()?
public class MyContext : DbContext
{
public DbSet<Quoter> Quoters { get; set; }
public DbSet<Account> Accounts { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Account>()
.HasRequired(a => a.RecyclerRef)
.WithRequiredDependent(r => r.AccountRef);
}
}
public class Quoter
{
public int QuoterId { get; set; }
public string Text { get; set; }
}
public class Recycler : Quoter
{
public string Description { get; set; }
public virtual Account AccountRef { get; set; }
}
public class Account
{
public int AccountId { get; set; }
public Recycler RecyclerRef { get; set; }
}
但是,我得到的例外,當我做了這兩種查詢:
var query1 = context.Quoters
.OfType<Recycler>()
.Include(r => r.AccountRef)
.Where(r => r.QuoterId == 1)
.ToList();
var query2 = context.Set<Recycler>()
.Include(r => r.AccountRef)
.Where(r => r.QuoterId == 1)
.ToList();
異常顯示,ResultType is 「Transient.reference[POCOFirst.Quoter]」,but recommanded is 「Transient.reference[POCOFirst.Recycler]」
如果我刪除ToList()
,效果很好。但是我需要一個列表作爲方法的返回值。
爲什麼我不能做ToList()
?謝謝
如果你錯過了'ToList()'並將鼠標懸停在'var'關鍵字上,那麼工具提示報告的類型是什麼? – ChrisF 2012-02-12 15:30:53
它顯示查詢的類型是IQueryable。 –
Abbey
2012-02-12 15:44:54