[英]Entity Framework 6 not inserting Rows in table even though has primary key
我有一個多項目解決方案。 在我的EF 6項目Gilbane,RREM.Data中,我有一個EF模型,其中包括表TransactionLog。 然后,我有一個項目Gilbane.RREM.Logging,其中包含一個函數:
public static void RecordTransaction(string appId, string transactionId, DateTime time, string sourceInterface,
string sourceSystem, string tranId, string response, int interfaceId)
{
using (RREM_GilbaneEntities entities = new RREM_GilbaneEntities())
{
try
{
var transactionLog = new TransactionLog
{
transactionID = transactionId,
created = DateTime.Now,
sourceInterface = sourceInterface,
sourceSystem = sourceSystem,
appID = appId,
GilbaneTransactionID = tranId,
response = response,
sourceIP = null,
SourceID = interfaceId,
};
entities.TransactionLogs.Add(transactionLog);
entities.SaveChanges();
}
catch (Exception ex)
{
LogError(appId, ex.ToString(), "RecordTransaction", transactionId, "", interfaceId, "CommonLibrary");
}
}
最后,我有另一個程序集,它調用RecordTransaction調用。 我一步一步地看着ReordTransaction執行無誤。 它只是沒有在TransactionLog表中放任何東西! 盡管它具有已聲明的主鍵。 有任何想法嗎?
編輯-EF類庫具有從數據庫生成的模型:
public partial class RREM_GilbaneEntities : DbContext
{
public RREM_GilbaneEntities()
: base("name=RREM_GilbaneEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<ErrorLog> ErrorLogs { get; set; }
public virtual DbSet<TransactionLog> TransactionLogs { get; set; }
public virtual DbSet<transactionController> transactionControllers { get; set; }
public virtual DbSet<TransactionOutgoingQueue> TransactionOutgoingQueues { get; set; }
public virtual DbSet<respons> responses { get; set; }
}
如果沒有出現錯誤,那是因為EF正在存儲。 這是我的猜測。 看一下您的App_data文件夾,其中可能有一個文件,可以在其中找到記錄。
如何解決這個問題:
確保設置正確的連接字符串。
使用與DbContext類繼承的類相同的名稱來設置連接字符串名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.