예외가 수신되었습니다. IEntityChangeTracker의 여러 인스턴스에서 엔터티 개체를 참조 할 수 없습니다. 당신은 내가 코드 첫번째 & 예상 EF4.1 (대로이 태그를 추가 한C# Entity Framework - IEntityChangeTracker 문제
public class MyContext : DbContext, IDataContext
{
public MyContext (string connectionString) :
base(connectionString)
{
}
public DbSet<AssigneeModel> Assignees { get; set; }
public DbSet<AssetAssignmentModel> AssetAssignments { get; set; }
}
public class AssigneeController : Controller
{
protected MyContext db = new MyContext(ConnectionString);
[HttpPost]
public ActionResult Import(SomeObjectType file)
{
AssigneeModel assignee = new AssigneeModel();
assignee.FirstName = "Joe";
assignee.LastName = "Smith";
// Assignees have assets, and the relationship is established via an AssetAssignmentModel entity
AssetAssignmentModel assetAssignmentModel = new AssetAssignmentModel
{
Asset = someExistingAsset,
// Assignee = assignee, // Don't establish relationship here, this object will be added to the assignee collection
}
assignee.AssetAssignments.Add(assetAssignmentModel); // Manually add object to establish relationship
db.Assignees.Add(assignee); // Add the assignee object
// Exception occurs when adding the object above
};
}
EF 버전 4.1
Asset = someExistingAsset은 다른 컨텍스트에서 왔습니까? –
예, 다른 방법의 서비스 호출에서 온 것입니다 ... 그러나 컨텍스트가 폐기 될 것이라고 생각합니까? – contactmatt
그게 문제 야 - 그 엔티티를 다른 컨텍스트에서 분리 한 다음이 새로운 컨텍스트에 연결하거나 모든 컨텍스트에 동일한 컨텍스트를 사용해야한다. –