2016-02-28 48 views
0

我有兩個列表列表內容listearticle,和本表的代碼:從兩個列表中的不同選擇

model = (
    from article in db.Article 
    select new 
    { 
     ID = article.ID, 
     ARTICLE = article.CODEARTICLE, 
     PRIX= article.PRIX, 
     STOCK=article.STOCK, 
     IMAGE = article.Image, 
     DESCRIPTION= article.REFERENCE, 
    }); 

和另一個內容列表慣例,這是代碼:

var query = (
     from article in db.convention 
     select new 
     { 
       ID = article.ID, 
       ARTICLE = article.CODEARTICLE, 
       PRIX = article.Prix, 
     }); 

我想有這樣一個清單listarticlecventionvention:

foreach(動態模型中的aa) {

  foreach (dynamic aa1 in list1) 
      { 
       if (aa.ARTICLE == aa1.ARTICLE) 
       { 
        aa.PRIXVHT = aa1.PRIXVHT; 
       } 
      } 
     } 

有人可以幫助我的時候這篇文章中list1的存在,感謝你的幫助 錯誤apperead編輯PRIXVHT,在附加信息:屬性或索引「<> f__AnonymousType3.PRIXVHT」不能被分配到 - 它只有 讀我知道這只是讀只讀,但我需要修改它,我怎麼能做到這一點

NB /我必須使用一種形式一樣,我的意思是這樣的foreach在這兩個列表

回答

5

如果query.PRIX爲空,您可以加入db.Articledb.convention,然後選擇article.PRIX

from articleA in db.Article 
join articleC in db.convention on articleC.ID equals articleA.ID into temp 
from query in temp.DefaultIfEmpty() 
select new 
{ 
    ID = articleA.ID, 
    ARTICLE = articleA.CODEARTICLE, 
    PRIX = (query== null ? articleA.PRIX : query.PRIX), 
    STOCK = articleA.STOCK, 
    IMAGE = articleA.Image, 
    DESCRIPTION = articleA.REFERENCE, 
}); 
+0

我不喜歡一個法定的繼承權,我想從這個兩個列表理性的靈活性和快速的foreach,因爲名單的文章是這麼長的一個數據庫 – user5994736

+0

@ user5994736你有沒有真的試圖雅科貼,看它是否是慢的代碼?你可能會感到驚訝。 – Corey

+0

代碼中'articleA'和'article'的混合會失敗。你能修好嗎? – Corey

相關問題