Lingtosql如何更新实体

这篇文章主要为大家展示了“Ling to sql如何更新实体”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ling to sql如何更新实体”这篇文章吧。

创新互联建站是一家专业提供伊美企业网站建设,专注与成都网站制作、成都做网站、外贸营销网站建设HTML5建站、小程序制作等业务。10年已为伊美众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

Ling to sql更新实体非常费劲!一般网上的例子中都是一下这样的。

Customer cust = db.Customers.First(c => c.CustomerID == "ALFKI");    cust.ContactTitle = "Vice President";    db.SubmitChanges();

但是,貌似在分层系统中,数据库操作会写到数据访问层,定义实体,抽象出接口。

实体类 :

///  /// 计划任务  ///  [Table(Name = "EDM_TaskPlan")]  public class TaskPlan  {  ///  /// 计划编码  ///  [Column(IsDbGenerated=true,IsPrimaryKey=true,Name="PlanID")]  public int PlanID { get; set; }   ///  /// 任务名称  ///  [Column(Name="PlanName")]  public string Name { get; set; }   ///  /// 任务描述  ///  [Column]  public string Description { get; set; }   ///  /// 星期一定义  ///  [Column]  public string MondayDef { get; set; }   ///  /// 星期二定义  ///  [Column]  public string TuesdayDef { get; set; }   ///  /// 星期三定义  ///  [Column]  public string WednesdayDef { get; set; }   ///  /// 星期四定义  ///  [Column]  public string ThursdayDef { get; set; }   ///  /// 星期五定义  ///  [Column]  public string FridayDef { get; set; }   ///  /// 星期六定义  ///  [Column]  public string SaturdayDef { get; set; }   ///  /// 星期日定义  ///  [Column]  public string SundayDef { get; set; }  }

数据访问接口 :

///  /// 任务计划数据访问接口  ///  public interface ITaskPlanDao  {  ///  /// 查找全部  ///  ///  TaskPlan[] FindAll();   ///  /// 根据编码查找  ///  /// 计划任务编码 ///  TaskPlan FindByID(int id);   ///  /// 保存或更新  ///  /// 任务计划对象 ///  int SaveOrUpdate(TaskPlan taskPlan);   ///  /// 根据编码删除  ///  /// 任务计划编码 ///  void DeleteByID(int id);  }

但是我在Ling to sql更新实体的时候出现了问题。

dbContext.Attach(taskPlan);  //根本不会更新  dbContext.Attach(taskPlan,true);  //An entity can only be attached as modified without original state if it //declares a version member or does not have an update check policy  dbContext.Attach(taskPlan,this.FindByID(taskPlan.PlanID));  //Cannot add an entity with a key that is already in use.

网上也有解决方案,就是加IsVersion字段,感觉怪怪的。

以上是“Ling to sql如何更新实体”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网页题目:Lingtosql如何更新实体
当前链接:http://scyanting.com/article/igpesh.html