我得到了以下有效关系的表格,如下所示:
Report
------>ReprotDataSource
--------->SharePointDomain
现在,当我尝试以下操作(将新的ReprotDataSource链接到选定的SharePointDomain)时,它会插入新的SharePointDomain记录,而不是将其引用到具有id(2)的SharePointDomain
//Create new Object
ReportDataSource rprtDS = new ReportDataSource
{
Name = rprtDSSelected.Name,
Parent = rprtDSSelected.Parent,
CreatedBy = Environment.UserName,
CreationDate = DateTime.Now,
Source = rprtDSSelected.Source,
Type = rprtDSSelected.Type
};
if (rprtDS.Type == "SP List")
//here is the issue
rprtDS.SharePointDomain = selectedSharePointDomain;//its id = 2
//Add to EntitySet
TheReport.ReportDataSources.Add(rprtDS);
TheReport.Save();
当我将id我自己设置为(2)
时,它工作正常任何解释。?
提前谢谢。
答案 0 :(得分:1)
您要添加的对象必须来自相同的数据上下文,否则将计为隐式插入。我猜这个对象来自其他地方;也许是以前的数据上下文。如果您在查询之间缓存对象,这很棘手。也许只是设置id而不是......:p
你可能会根据需要分离和附加一些快乐,但这可能是不值得的。