我正在尝试使用Linq to Entity作为我的DAL用于新项目。LINQ to Entity插入或更新
在我DAL我有这样的方法来获取工作实体
public Job LoadJob(int id)
{
Job job = new Job();
using (TNEntities context = new TNEntities())
{
var jobEntity = (from c in context.Jobs
where c.id == id
select c).First();
job = (Job)jobEntity;
}
return job;
}
我用的是工作实体在我的程序,然后我想将它保存:
我已经尝试了一些不同的的事情,但我currenlt方法看起来是这样的(它不工作)
public void SaveJob(Job job)
{
using (TNEntities context = new TNEntities())
{
context.Jobs.AddObject(job);
context.SaveChanges();
}
}
我已经试过context.jobs.attach(作业),它不会引发错误,但它并没有更新我的工作。我认为它是因为Job超出了Context,因为它超出了使用上下文的范围。但我不知道如何重新附加它,以便更新我在第一种方法中选择的作业。
没有其他办法吗?如果我想下载我的实体并传递它,我将不得不绕过我的DAL类吗? – michael 2011-12-19 05:26:30
@ michael - 这将是最简单的方法。只需重新考虑你的方法 - 使用DAO来做这种事情可以非常干净和容易 – 2011-12-19 05:32:07