- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 WPF 中使用 LINQ-TO-SQL 设置了一个非常简单的示例。
我可以像这样得到一个 object (pageItem),我可以更改 property,当我调用 SubmitChanges() 时,它会给出我没有错误,但它不保存更改。
MainDataContext db = new MainDataContext();
var pageItem = (from p in db.PageItems
where p.Id == 1
select p).SingleOrDefault();
pageItem.Title = "changed";
db.SubmitChanges();
什么可能导致 SubmitChanges 不提交更改?
这也不行,连db.ExecuteCommand都行不通,而且奇怪的是调试F11的时候并没有进入SubmitChanges()或者ExecuteCommand(),为什么我不能进入那些呢?
using (var db = new MainDataContext())
{
var pageItem = (from p in db.PageItems
where p.Id == 1
select p).SingleOrDefault();
pageItem.Title = "changed";
db.SubmitChanges();
db.ExecuteCommand("INSERT INTO PageItems (Title) VALUES ('this is the title')");
if (pageItem != null)
MainContent.Children.Add(new QuickForm(pageItem));
}
db.Log = Console.Out 给了我这个:
SELECT [t0].[Id], [t0].[IdCode], [t0].[Title], [t0].[Description], [t0].[DisplayOrder]
FROM [dbo].[PageItems] AS [t0]
WHERE [t0].[Id] = @p0
'TestPageManager23434.vshost.exe' (Managed): Loaded 'C:\Windows\assembly\GAC_MSIL\PresentationFramework.resources\3.0.0.0_de_31bf3856ad364e35\PresentationFramework.resources.dll'
-- @p0: Input Int (Size = 0; Prec = 0; Scale = 0) [1]
-- Context: SqlProvider(Sql2008) Model: AttributedMetaModel Build: 3.5.30729.1
INSERT INTO PageItems (Title) VALUES ('this is the title')
-- Context: SqlProvider(Sql2008) Model: AttributedMetaModel Build: 3.5.30729.1
The thread 0x1190 has exited with code 0 (0x0).
解决方案有三个:
我正在更改一个不同于我在 Visual Studio 中查看的数据库,解决方案:
var db = new MainDataContext(@"C:\Users\TestUser\Documents\Visual Studio 2008\Projects\TestPageManager23434\TestPageManager23434\Data\Main.mdf"))
使 Update 起作用但 SubmitChanges() 不起作用,解决方案是设置主键。
它仍然没有显示所有的变化,问题是我打开了许多“显示数据”窗口,这些窗口没有更新
最佳答案
如果您没有在 SQL Server 中的表上定义主键,则会发生这种情况
关于wpf - 什么可能导致 db.SubmitChanges() 在 linq-to-sql 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1579033/
我正在开发一个使用 Linq2SQL 进行数据访问的 WP7 芒果应用程序。我有一个 Note 实体,它有一个自动生成的 int 类型的键。 我第一次向数据库添加新注释时,操作正常,注释保存,然后如果
我正在尝试创建一个数据库。我做了一个表格,我想从中获取数据。一切似乎都很好,但我的数据库没有得到更新,也没有改变。我正在使用本地数据库。我尝试更改“复制到输出目录”但没有任何反应......Submi
我有一个向数据库添加记录的表单。主键是自动递增的。我想让网页重定向到显示刚刚输入的信息的页面。 例如,它会重定向到 http://localhost/details.aspx?softwareID=1
我不知道这段代码有什么问题,这段代码可以成功编译,但是不会更新数据库。我想念一些东西吗? DataClassesDataContext db = new DataClassesDataContext(
我知道之前有人问过这个问题,但我遇到了这个非常奇怪的初学者问题: 我想通过他们播放的电影的 id 更新 Actor 列表(只有一部电影) DataClasses1DataContext
有什么理由这样的事情行不通吗? 这是我用 LINQ 更新表中记录时多次使用的逻辑: DataClasses1DataContext db = new DataClasses1DataContext(
我正在尝试使用数据库上下文更新数据库中的 2 个字段 [HttpPost] [ValidateAntiForgeryToken] public ActionResult Change
我正在使用自定义存储过程从我的数据库中检索数据: tbTextBox.Text = db.getSettingValue("PropertyName").First().Value; (db是一个全局
在这里听起来不像是破记录(有一些帖子看起来像这个),但它们似乎都没有解决我的问题。好像要更新的时候 private bool resetPassword(string password) {
我想为我的模型覆盖 SubmitChanges() 方法。 当我尝试覆盖时出现编译错误: cannot override inherited member 'System.Data.Linq.Data
我有以下代码- public bool InsertUser(params) { User objUser = new User(params); objDataContext.Use
我在尝试调试 LINQ to SQL 和提交更改时遇到了很大的困难。 我一直在使用http://weblogs.asp.net/scottgu/archive/2007/07/31/linq-to-s
正在编辑其他人的代码,想知道在使用 for 循环和 InsertOnSubmit 时,submitchanges 调用是在循环内还是在循环外。 即: foreach (string t in newT
我在这里无能为力。问题是我试图在 LINQ to SQL 中使用数据库生成的标识属性在数据库中创建一个新实体,然后创建与第一个关联的另一个实体。我猜问题是 LINQ to SQL 不能在没有第一个实体
调用 {DataContext}.SubmitChanges() 时出现 stackoverflow 异常...我希望我知道要发布哪些代码行以帮助澄清情况,但是抛出异常时不会提供任何信息: An un
我在数据库中有一个表,主键是 emp_pk。现在使用 LINQ 我正在尝试对其执行一些操作。当我更改一些属性并调用时, context.SubmitChanges(); 理想情况下,where 子句应
谁能告诉我是否/如何在 Linq2Sql 调用 SubmitChanges() 之前验证数据上下文中的更改。我遇到的情况是,我创建了一个上下文,执行多个操作并在其他处理任务中添加了许多插入,然后在提交
我正在开发一个应用程序,其中一次将大量数据插入到 SQL 数据库中。我使用 LINQ to SQL,并有这样的东西作为我的插入操作: foreach(对象中的var obj) { context.In
在我的第二个 ASP.NET MVC 项目中,我面临一个非常奇怪的问题:当我调用 DataContext 类的 SubmitChanges 方法时,数据库中没有任何更新。这很奇怪,因为我的第一个项目一
我收到了 InvalidOperationException尝试使用 LinqToSql 添加行时。我们无法在内部复制它,并且只有我们的一个客户发生了大约 0.06%,总是对数据库进行相对简单的更改。
我是一名优秀的程序员,十分优秀!