2011-01-23 56 views
1

在使用LINQ到SQL,我在我的自定义类,即创建了一个静态的DataContext现在LINQ to SQL中,DataContext的问题

public class OPIS 
{ 
public static DataContext DataContext = new DataContext(); 
.... 
} 

每当我需要查询(包括插入和删除),通过LINQ结果我用这个静态DataContext对象。直到我无法将最近插入的对象置于其中一个EntitySet中,我才发现问题,例如

我有一个Profile和一个BasicInfo EntityType与彼此的一对一关系。

//Inserting a new BasicInfo Object, have created association with Profile object before 
OPIS.DataContext.BasicInfos.InsertOnSubmit(basicInfoObject); 

现在另一个页面

Profile profile = //get new profile from linq, comming fine 

BasicInfo bi = profile.BasicInfo //returning null, it shouldn't 

bi应该返回与个人资料相关联BasicInfo的对象,但事实并非如此。为什么?

回答

2

您是否曾拨打DataContext致电SubmitChanges()?如果不是,那么你所做的只是注册BasicInfo插入,但不要插入它。

OPIS.DataContext.BasicInfos.InsertOnSubmit(basicInfoObject); //registers object for insertion 
OPIS.DataContext.SubmitChanges(); // performs insert 
+0

@Sadi - 你有没有运气确定是什么原因导致你的问题? – arcain 2011-01-28 17:38:57