我使用LINQ与SQL Server Compact 3.5版和VS2008为SQL。
我有一个非常简单的表(令牌)与唯一标识符的主键(TokenID)和另外两个可为空字段(UsedBy和UsedOn)。 我试图使用LINQ插入新行到表中,但由于某种原因,他们没有坚持。
这里是我的代码:
var connectionstring = "Data Source=|DataDirectory|\\MyData.sdf";
MyData db = new MyData(connectionstring) { Log = Console.Out };
Tokens token = new Tokens { TokenID = Guid.NewGuid() };
db.Tokens.InsertOnSubmit(token);
//db.GetChangeSet();
db.SubmitChanges();
var tokens = from t in db.Tokens
select t;
foreach (var t in tokens)
{
Debug.Print(t.TokenID.ToString());
}
如果我取消db.GetChangeSet(); 我可以看到挂起的插入,当我重复,并将其打印到调试寡妇令牌#每次增长。 但是,如果我在查询VS表(通过显示表的数据),它是空的? 查看数据这样也“重置”通过LINQ返回其原始状态的标记。
我敢肯定我做一些简单的错误,但我不能看到它。 有任何想法吗?