http://blog.csdn.net/itmaxin/article/details/47662151 这篇文章里有一下东西可以参考,但是弟二个方法明显是不可行的,因为我做了实验直接attach 是应该增加记录的时候用的,用来更新是错误的,程序会报错。改良后,不用先查询再更新的方法如下就可以。直接更新不用先查询 数据,也不会把其它不需要改变的值也更新。 var updateEntity = new ShopCar() { Id=shopCar.Id }; var a = db.Entry(updateEntity); a.Entity.Count = shopCar.Count; a.Entity.SubTotalMoney = shopCar.SubTotalMoney; await db.SaveChangesAsync();
更详细的官方文档参考:
https://msdn.microsoft.com/en-us/library/jj592676(v=vs.113).aspx
#2018-12-05
给实体的datatime设置默认值的方式如下 :使用约定和注释都达不到目的必须使用 Fluent API 可用于指定属性的默认值。
class MyContext : DbContext { public DbSet<Blog> Blogs { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<Blog>() .Property(b => b.Created) .HasDefaultValueSql("getdate()"); } } public class Blog { public int BlogId { get; set; } public string Url { get; set; } public DateTime Created { get; set; } }