1
我嘗試使用鏈接到實體,並且想直接在我的應用程序中使用我的實體。更新實體框架中的現有EntityCollection
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Calandar.Business.Manager.Data;
namespace Calandar.Business.Models.Args
{
public class SaveExpertArgs
{
public ExpertEntity Expert { get; set; }
public SaveExpertArgs(ExpertEntity expert)
{
Expert = expert;
}
}
}
public ExpertEntity SaveExpert(SaveExpertArgs args)
{
string connString = ConfigurationManager.ConnectionStrings["CalendarContainer"].ConnectionString;
using (CalendarContainer dbContext = new CalendarContainer(connString))
{
ExpertEntity expert = (from e in dbContext.ExpertEntities
where e.ExpertIdentifier == args.Expert.ExpertIdentifier
select e).FirstOrDefault();
if (expert == null)
{
args.Expert.ExpertIdentifier = Guid.NewGuid();
dbContext.AddToExpertEntities(args.Expert);
}
else
{
dbContext.ExpertEntities.ApplyCurrentValues(args.Expert);
foreach (TimeSlotEntity t in args.Expert.TimeSlotEntities)
{
dbContext.TimeSlotEntities.ApplyCurrentValues(t);
}
}
dbContext.SaveChanges();
return args.Expert;
}
}
我試圖挽救我的專業實體,它的工作,但我不知道如何保存我的EntityCollection在我的專業實體。有些身體可以幫助我嗎?
不工作,我得到錯誤:ObjectContext的實例已設置,並且不能再被用於需要連接的操作。 – 2010-10-28 00:49:48
您可以嘗試在初始加載時使用「包含」命令,以便從專家處獲取子對象。 http://msdn.microsoft.com/en-us/library/bb896272.aspx – Slappy 2010-10-28 01:45:35
我嘗試做exper.TimeSlotEntities.Load();但是當我使用我的arg.Expert.TimeSlotEntities時,此對象已斷開連接。有沒有辦法與WrappedRelatedEntities一起工作? – 2010-10-28 02:26:22