gpt4 book ai didi

c# - 为什么我的 LINQ 插入在 SQL Server CE 3.5 中不持久?

转载 作者:行者123 更新时间:2023-11-30 14:04:41 25 4
gpt4 key购买 nike

我在 Sql Server Compact Edition 3.5 和 VS2008 中使用 LINQ to SQL。

我有一个非常简单的表 (Tokens),其中包含一个唯一标识符主键 (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();我可以看到挂起的插入,当我迭代并将它们打印到调试窗口时, token 的数量每次都会增加。但是如果我在 VS 中查询表(通过显示表数据)它是空的?像这样查看数据也会“重置”LINQ 返回的标记的原始状态。

我很确定我犯了一些简单的错误,但我看不到它。有什么想法吗?

最佳答案

检查您的数据库文件是否在每次构建时都没有复制到输出目录(在项目项的属性页中)

关于c# - 为什么我的 LINQ 插入在 SQL Server CE 3.5 中不持久?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1343816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com