none
EF4.1 删除对象出错了(包括外键关联的对象 Include出错) RRS feed

答案

  • 试下"Sales",Sale不存在那个实体啊。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 liufan_312 2013年11月19日 2:18
    2013年11月18日 8:39
    版主

全部回复

  •             Employee emp = DbContext.Employees.Include("EmployeeId_PrimaryKey").Where(e => e.employeeId == id.employeeId).FirstOrDefault();
                DbEntityEntry<Employee> etEmployee = this.DbContext.Entry(emp);
                if (etEmployee.State != EntityState.Deleted)
                {
                    etEmployee.State = EntityState.Deleted;
                }
                else
                {
                    this.DbContext.Employees.Attach(emp);
                    this.DbContext.Employees.Remove(emp);
                }
    2013年11月16日 8:19
  • 这个是 domain services里面的代码
    2013年11月16日 8:19
  • Employee emp = DbContext.Employees.Include("EmployeeId_PrimaryKey").Where(e => e.employeeId == id.employeeId).FirstOrDefault();

    执行到这一行程序报错

    指定的 Include 路径无效。EntityType“EmployeeSale.Web.Employee”未声明具有名称“EmployeeId_PrimaryKey”的导航属性。

    2013年11月16日 8:21
  •  public class Employee
     {
         public Employee()
      {
       this.Sales = new List<Sale>();
      }

      public int employeeId { get; set; }
      public string employeeNumber { get; set; }
      public string employeeName { get; set; }
      public string employeeSex { get; set; }
      public Nullable<int> employeeAge { get; set; }
      public string employeeAddress { get; set; }

            [Include]
            [Association("EmployeeId_PrimaryKey", "employeeId", "employeeId")]
      public virtual ICollection<Sale> Sales { get; set; }
     }

    2013年11月16日 8:22
  • 这是我的实体类关联的

     public class Sale
     {
      public int saleId { get; set; }
      public Nullable<int> employeeId { get; set; }
      public string saleNumber { get; set; }
      public string saleName { get; set; }
      public Nullable<int> saleSum { get; set; }
      public Nullable<decimal> saleMoney { get; set; }
      public Nullable<System.DateTime> saleTime { get; set; }

            [Include]
            [Association("EmployeeId_ForeignKey", "employeeId", "employeeId")]
      public virtual Employee Employee { get; set; }
     }

    2013年11月16日 8:22
  • 没有人会吗
    2013年11月16日 9:35
  • 你好,

    Include需要选择的内容在主实体中存在,'EmployeeId_PrimaryKey'这个是个关系名称,实际是不存在于Employees中的。

    改成

    Employee emp = DbContext.Employees.Include("Sales").Where(e => e.employeeId == id.employeeId).FirstOrDefault();
    


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2013年11月18日 7:44
    版主
  • 好的 我先试试 谢谢
    2013年11月18日 8:10
  • 还是提示错误 是不是我的 关联设置的 不对,求大神们 给个解决方案
    2013年11月18日 8:17
  • 试下"Sales",Sale不存在那个实体啊。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 liufan_312 2013年11月19日 2:18
    2013年11月18日 8:39
    版主
  • 好我再试一下
    2013年11月19日 2:13
  • 我刚刚试了一下 可以了,  我的实体类名 叫 sale  为什么加 了 s 就可以了,求解释.

    2013年11月19日 2:18
  • 'Include'是需要加载在主题实体存在的关联属性, Sale是实体类,Sales才是一个property(属性).


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2013年11月19日 2:21
    版主
  • 明白了 include 是实体里面 的对象名称
    2013年11月19日 2:40