我在我們的數據庫ImportError
中有一個模型。我有一個課程擴展了這個模型,AssessmentImportError
。 AssessmentImportError
不映射到表。它有一個[NotMapped]
屬性。當我嘗試選擇或插入ImportError
(不是AssessmentImportError
...)我得到以下異常:擴展業務邏輯的EF實體拋出映射異常
例外:
類型的異常「System.Exception的」發生在EntityFramework.MappingAPI。 DLL但在用戶代碼中沒有處理
其他信息:類型「DAL.SharedModels.AssessmentImportError」沒有上下文「DAL.HTTrans.Model.HTTransDB」
的模型中發現:
[NotMapped]
public class AssessmentImportError : ImportError
{
public string APN { get; set; }
}
public partial class ImportError : Frameworks.Interfaces.IImportError
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long ErrorId { get; set; }
[Required]
[MaxLength(200)]
[Index("IX_TableName_RecordId", 1)]
public string TableName { get; set; }
// ... deleted code
}
批量插入:
private static void SaveErrors(List<IImportError> errors, int batchID)
{
// Casting from IImportError to ImportError. They are already an ImportError though.
List<ImportError> castedErrors = errors.Select(e => (ImportError)e).ToList();
using (var db = new HTTransDB())
{
foreach (var e in castedErrors)
{
e.BatchId = batchID;
}
db.BulkInsert(castedErrors);
errors.Clear();
}
}
編輯:
如果我改變db.BulkInsert(castedErrors)
到db.ImportErrors.AddRange(castedErors)
我不再有問題。這似乎是BulkInsert Nuget包的Mapping API中的一個錯誤。
顯示您的選擇/插入請 – solidau
添加插入代碼 – Dave
只是爲了得到一張圖片:如果您只*將'[NotMapped]'放在'APN'上會發生什麼? (我知道它完全不同)。 –