我确实尝试通过 EF5 和 MySQL 制作样本。
[Table("agency")]
class Agency
{
[Key]
[Required]
public int agency_id { get; set; }
public string name { get; set; }
}
class MyContext : DbContext
{
public DbSet<Agency> Agency { get; set; }
}
class Sample
{
public static void Main()
{
using (var db = new MyContext())
{
var query = from x in db.Agency select x.agency_id;
var new_num = query.DefaultIfEmpty<int>().Max(p => p == null ? 0 : p);
new_num++;
Agency a = new Agency
{
agency_id = new_num,
name = "Test"
};
db.Agency.Add(a);
db.SaveChanges();
}
}
}
首先。它是成功的。
但在第二次,它在 db.SaveChanges() 中抛出了异常。
{"键 'PRIMARY' 的重复条目 '0'"}
随着抛出的异常,我跟踪变量。
Agency_id 有'1',当然。
什么问题?
更新 1
更新 2
!!!!!!???????????????????????????