皆さん、
マスターを持つ新しいオブジェクトを作成しているときに問題が発生します。問題は、EFがマスターオブジェクトも作成しようとしていることですが、私はそれを必要としません。
私の2つのpocoクラスは次のようになります。
[DataContract(IsReference = true)]
public class Application
{
[DataMember]
public int ID { get; set; }
[DataMemeber]
public int ProjectManagerId {get; set; }
[DataMember]
public ProjectManager PM { get; set;}
}
[DataContract(IsReference = true)]
public class ProjectManager
{
[DataMember]
public int ID { get; set; }
[DataMember]
public string FullName { get; set; }
}
ASP.NET MVCページで新しいオブジェクトを作成しているときに、Application
ProjectManagerIdが1で、PMフィールドがID = 0で、FullName(たとえば、「フォレストガンプ」)を持つクラスのオブジェクトがあります。
したがって、オブジェクトを追加するとき、application.PM.IDを0にすることはできないという例外があります。
context.Applications.AddObject(application);
context.SaveChanges();
マスターを追加せずにオブジェクトをaddobjectすることは可能ですか?
回避策を見つけましたが、気に入らないです。コンテキストにオブジェクトを追加する前に、PMフィールドをnullに割り当てています。
application.PM = null;