1
다음과 같이 모델을 작성합니다. Recycler와 Account 간의 관계는 1 : 1입니다.ToList()를 사용할 수없는 이유는 무엇입니까?
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();
예외 내가 ToList()
을 제거하면 ResultType is “Transient.reference[POCOFirst.Quoter]”,but recommanded is “Transient.reference[POCOFirst.Recycler]”
, 그것은 잘 작동하는지 보여줍니다 : 나는 이러한 쿼리 중 하나를 수행 할 때
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; }
}
는, 나는 예외를 얻을. 그러나 메서드의 반환 값으로 목록이 필요합니다.
ToList()
을 사용할 수없는 이유는 무엇입니까? 감사합니다
'ToList()'를 놓치고 마우스를'var' 키워드 위에 올리면 툴팁이 그 타입을보고합니다. – ChrisF
쿼리 유형이 IQueryable임을 보여줍니다. –
Abbey