我有兩張桌子。問題和用戶配置我可以使用LINQ在SQL Server上對IQueryable進行連接嗎?
public QuestionMap()
{
this.HasKey(t => t.QuestionId);
this.Property(t => t.Title)
.IsRequired()
.HasMaxLength(100);
this.Property(t => t.CreatedBy)
.IsRequired();
}
public UserProfileMap()
{
this.HasKey(t => t.UserId);
this.Property(t => t.UserName)
.IsRequired()
.HasMaxLength(56);
}
我的庫調用看起來像這樣的時刻:
public virtual IQueryable<T> GetAll()
{
return DbSet;
}
有沒有辦法,我可以修改資料庫調用,這樣它會去到數據庫中,加入問題的辦法和UserProfile表,然後從UserProfile表中取回具有UserName的列表?我意識到我可能需要爲返回類型創建另一個類(包括UserName),我可以這樣做。
這兩個實體如何相互關聯? 'CreatedBy'是一個UserProfile? –
CreatedBy是一個鏈接到UserProfile表中的UserId的數字。我真正想要的不是看到那個號碼,而是看到UserName是一個字符串。 – Alan2
如果您決定使用它們,那麼通用存儲庫不應各自擁有自己的上下文。你永遠無法再從他們的'DbSets'中編寫查詢。他們應該分享一個工作單元的背景。但第一個問題是,您是否真的需要在EF的內置存儲庫('DbSet')之上使用通用存儲庫。 –