我試圖在流暢的api中用c#開發一個簡單的應用程序。我想插入一張我的Musteri表(Musteri表示土耳其客戶)的記錄。DbContext.SaveChanges()始終將id列的值賦值爲零
我musteri類是在ModelRepository.cs:
public class Musteri // It means Customer
{
[Key]
public int MusteriId { get; set; }// It Means CustomerId
public string MusteriAdi { get; set; } // It means CustomerName
}
下面的代碼是在Form1.cs中:
public class CustomerContext : DbContext
{
public CustomerContext()
: base("MySqlConnString") // I'm using MySql Database
{
}
public DbSet<Musteri> MusteriTb { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
}
}
我使用下列代碼插入記錄我的Musteri(客戶)表
CustomerContext context = new CustomerContext();
Musteri MusteriRow = new Musteri();
MusteriRow.MusteriId = Convert.ToInt32(TextBox1.Text);
MusteriRow.MusteriAdi = TexBox2.Text;
context.MusteriTb.Add(MusteriRow);
例如我在TextBox1中寫入「9」。我正在用斷點MusteriRow.MusteriId值觀看。在此之前MusteriRow.MusteriId = 9.
context.SaveChanges()
之後命令MusteriRow.MusteriId爲0(零)。總是編程將MusteriRow.MusteriId的值分配給零。我怎麼解決這個問題。請幫幫我。
就可以顯示該對象被添加到上下文有關的代碼,然後context.SaveChanges()被調用?字符串值是否正確保存? – user1666620 2014-11-05 11:48:11
你有任何實體的地圖?你想要的ID是9?它在數據庫中有什麼價值? 'MusteriId'是否自動遞增? – Default 2014-11-05 11:48:17
該ID很可能設置爲從數據庫生成的ID。奇怪的是,你每次都得到0。 – Patrick 2014-11-05 13:39:33