第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

EF包括其他實(shí)體(通用存儲庫模式)

EF包括其他實(shí)體(通用存儲庫模式)

C#
慕虎7371278 2019-10-15 09:13:54
我在Entity Framework Code First之上使用通用存儲庫模式。一切工作正常,直到我需要在查詢中包含更多實(shí)體。我必須成功包含一個(gè)實(shí)體,但是現(xiàn)在我不知道如何包含多個(gè)實(shí)體。看看到目前為止我得到了什么:public IQueryable<TEntity> GetQuery<TEntity>() where TEntity : class{    var entityName = GetEntityName<TEntity>();    return _objectContext.CreateQuery<TEntity>(entityName);}public IList<TEntity> GetQueryWithInclude<TEntity>(string toInclude) where TEntity : class{    var entityName = GetEntityName<TEntity>();    return _objectContext.CreateQuery<TEntity>(entityName).Include(toInclude).ToList();}private string GetEntityName<TEntity>() where TEntity : class{    return string.Format("{0}.{1}", _objectContext.DefaultContainerName, _pluralizer.Pluralize(typeof(TEntity).Name));}我試圖做但沒用的是將字符串?dāng)?shù)組傳遞給函數(shù),然后嘗試將“包含”附加到查詢頂部。我想知道如果我一次調(diào)用GetQueryWithInclude并一次傳遞一個(gè)實(shí)體名稱(實(shí)際上是一個(gè)導(dǎo)航屬性)來聚合查詢結(jié)果該怎么辦,但是我擔(dān)心這可能會(huì)在每次調(diào)用時(shí)重復(fù)查詢的結(jié)果...您認(rèn)為什么是使它正常工作的最佳方法?提前致謝!更新:這是我要實(shí)現(xiàn)的目標(biāo)的一個(gè)示例:public IQueryable GetQueryWithIncludes(string[] otherEntities){    var entityName = GetEntityName<TEntity>();    //now loop over the otherEntities array     //and append Include extensions to the query    //so inside the loop, something like:     _objectContext.GetQuery<TEntity>(entityName).Include(otherEntities[index]);}
查看完整描述

3 回答

?
當(dāng)年話下

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊

與硬編碼的ObjectQuery(T)告別。


如果您使用的是EF> 4,那么它是內(nèi)置的,請檢查MSDN上的DbExtensions.Include。


查看完整回答
反對 回復(fù) 2019-10-15
  • 3 回答
  • 0 關(guān)注
  • 482 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號