![](/img/trans.png)
[英]“Object reference not set to an instance of an object.” Nesting Lists ASP.NET MVC LINQ Entity Framework
[英]Object reference not set to an instance of an object. Adding Two Table using LinQ in datagridview Entity Framework
這是我的 model class:
class LedgerDetailMaster
{
public COA_LedgerDetails COA_LedgerDetails { get; set; }
public COA_LedgerMaster cOA_LedgerMasterr { get; set; }
public Int64 Ledger_ID { get; set; }
public double Debit { get; set; }
public double Credit { get; set; }
public string Narration { get; set; }
public string VNO { get; set; }
public Int64 Ledgerr_ID { get; set; }
public DateTime VDate { get; set; }
public string VType { get; set; }
}
我使用的代碼是
var viewModels = db.COA_LedgerDetails.ToList();
var data = viewModels.Select(a => new LedgerDetailMaster
{
Ledger_ID = a.Ledger_ID,
Debit = a.debit,
Credit = a.cedit,
Narration = a.narration,
Ledgerr_ID = a.Ledger_ID,
VNO = a.cOA_LedgerMaster.VNO,
VDate = a.cOA_LedgerMaster.VDate,
VType = a.cOA_LedgerMaster.VType
}).ToList();
dataGridView1.DataSource = data;
我得到這個例外:
Object 引用未設置為 object 的實例
DTMSolERP.COA_LedgerDetails.cOA_LedgerMaster.get
返回 null。
您的 cOA_LedgerMaster 是 null 因為您沒有將其包含在查詢中。
var data = db.COA_LedgerDetails
.Include(a => a.cOA_LedgerMaster)
.Select(a => new LedgerDetailMaster
{
Ledger_ID = a.Ledger_ID,
Debit = a.debit,
Credit = a.cedit,
Narration = a.narration,
Ledgerr_ID = a.Ledger_ID,
VNO = a.cOA_LedgerMaster.VNO,
VDate = a.cOA_LedgerMaster.VDate,
VType = a.cOA_LedgerMaster.VType
}).ToList();
確保您的 viewModel 實體有一個名為 cOA_LedgerMaster 的屬性和一個與之關聯的外鍵(可能是 cOA_LedgerMasterId)
class LedgerDetailMaster
{
public COA_LedgerMaster cOA_LedgerMasterr { get; set; }
public int coA_LEdgerMasterrId {get; set; }
... // rest of your code
}
編輯:您需要在第一個查詢中包含該屬性
var viewModels = db.COA_LedgerDetails
.Include(x => x.cOA_LedgerMaster)
.ToList();
無論如何,您可以在此查詢中放棄並首先直接申請。
model class 中存在一些問題。 導航屬性需要是虛擬的,並且關系應該在兩個表中。 請按照以下說明操作: https://docs.microsoft.com/en-us/ef/ef6/fundamentals/relationships
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.