我是 MVC 框架的新手。我正在使用 MVC 4 beta,现在遇到了一些麻烦。我用谷歌搜索了很多,但找不到解决我的问题的方法,所以在这里我希望有人能提供帮助。我的问题是我有两个数据库
Database1 db1=new Database1();
Database2 db2=new Database2();
tbl1 tb1=new tbl1(); /// from db1
tbl2 tb2=new tbl2(); // from db2
两个表具有相同的属性,除了在 db2 中不包含任何属性的任何关系。
这是我的代码
public bool Save(int id=0){
tb1 = db1.tbl1.Single(tr => tr.id == id);
tb2.a=tb1.a;
tb2.b=tb1.b;
tb2.c=tb1.c;
tb2.d=tb1.d;
tb2.e=tb1.e;
if (db2.tbl1.SingleOrDefault(tr => tr.rid == id) == null)
{
db2.tbl1.AddObject(tb2); /// This works perfectly fine
}
else
{
db2.tbl1.Attach(tb2); /// This gives me an error Object Reference does not set to an instance of an object
db2.ObjectStateManager.ChangeObjectState(tb2, EntityState.Modified);
}
db2.SaveChanges();
}
有趣的是,我在另一个控制器上使用了相同的方法,它的工作原理就像一个魅力。任何建议为什么会发生以及如何解决它都会非常有帮助。
谢谢