2014-03-28 40 views
1

我正在使用linq從數據庫表中提取一列表(外鍵)的一列等於輸入值但我不是在編寫linq時獲得該屬性。從數據庫表中提取一列表(外鍵)等於輸入值的值

var country = 
    from x in db.Viewerships 
    where x.AssetId == model.ID 
    select x.CountryName; 

在上面的代碼x.AssetId沒有找到,因爲AssetId被用作表的外鍵。

+1

'x.Asset.Id',也許?如果你有導航屬性... –

回答

0

當您在模型中添加表格時,會出現一個複選框,其中顯示「在模型中包含外鍵列」,如果您未勾選此選項,則不會在您的實體中包含外鍵列。但是默認情況下將創建爲其他實體的導航屬性,所以你有2個選項

  1. 可以重新添加表與所述選項打勾
  2. 使用導航屬性這樣

代碼:

var country = 
    from x in db.Viewerships 
    where x.Asset.ID == model.ID 
    select x.CountryName; 

假設你的資產是導航性能和資產表的主鍵列ID

相關問題