【发布时间】:2014-11-05 11:43:32
【问题描述】:
我正在尝试使用流利的 api 在 c# 中开发一个简单的应用程序。我想在我的 Musteri 表中插入一条记录(Musteri 在土耳其语中是客户的意思)。
我的 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() 吗?字符串值是否保存正确?
-
你有实体的地图吗?你想让 id 是 9 吗?它在数据库中的价值是什么?
MusteriId是否自动递增? -
id 最有可能设置为从数据库生成的 id。奇怪的是你每次都得到一个 0。