【问题标题】:Avoid not necessary insert subclass when insert with Entity Framework使用实体框架插入时避免不必要的插入子类
【发布时间】:2012-08-09 16:54:48
【问题描述】:

我有这些物品:

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public Address Address { get; set; }
}

public class Address
{
    public string Street { get; set; }
    public Locality Locality { get; set; }
}

public class Locality
{
    public string City { get; set; }
    public string ZipCode { get; set; }
}

在实体框架模型中,我有这个PERSON, ADDRESS, LOCALITY

我正在这样做:

Mapper.CreateMap<Person, PERSON>();
Mapper.CreateMap<Address, ADDRESS>();
    .ForMember(x => x.Locality, opt => opt.Ignore())

当我尝试在数据库中插入一个新的Person 时,我在分析器(Entity Framework Profiler)中看到了一个在 Locality 表上的插入。我只想插入一个用户。

有什么想法吗?

【问题讨论】:

  • 你能描述一下 User 类/表,还是 person=user?
  • 抱歉错字(已更正)。谢谢,
  • 映射后实体框架数据类的确切内容是什么?

标签: c# entity-framework entity-framework-4 automapper automapping


【解决方案1】:

您需要在新的Person 中将State 上的Locality 设置为EntityState.Unchanged

 context.ObjectStateManager
     .ChangeObjectState
     (newPerson.Locality, System.Data.EntityState.Unchanged);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 2016-08-26
    相关资源
    最近更新 更多