0

私はこのオブジェクトを持っています:

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; }
}

Entity Frameworkモデルでは、これがありますPERSON, ADDRESS, LOCALITY

私はこれをやっています:

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

データベースに新しいものを挿入しようとするPersonと、プロファイラー (Entity Framework Profiler) で Locality テーブルにも挿入されます。ユーザーを挿入したいだけです。

何か案が ?

4

1 に答える 1

0

をに設定Stateする必要がありLocalityます。PersonEntityState.Unchanged

 context.ObjectStateManager
     .ChangeObjectState
     (newPerson.Locality, System.Data.EntityState.Unchanged);
于 2012-08-09T08:54:48.320 に答える