- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从没有主键的数据库中删除记录。以下作品:
using (myDataContext db = new myDataContext ())
{
db.ExecuteCommand("DELETE FROM myTable WHERE TradeDate = {0}", date);
}
(其中 date
是函数的输入)。但是当我尝试将它转换为 LINQ 时
using (myDataContext db = new myDataContext ())
{
db.myTable.DeleteAllOnSubmit(db.myTable.Where(t => t.TradeDate.Date == date.Date));
db.SubmitChanges();
}
我收到以下错误,因为该表没有主键:
Additional information: Can't perform Create, Update, or Delete operations on 'Table(myTable)' because it has no primary key.
我找到了以下有关此问题的旧帖子
DB:4.44:Dml Operations Using Linq Query For A Table Without Primary Key zm
Dml Operations using linq query for a table without primary key.
但我不明白如何实现他们建议的修复(即将另一个键设置为 IsPrimary
)。
有没有办法使用 LINQ 来做到这一点?请记住,向实际 SQL 表添加 PK 不是一个选项(除非我只添加一个行计数标识列)。
最佳答案
如果没有主键,则不会发出两个接口(interface):INotifyPropertyChanging
和 INotifyPropertyChanged
,因此 LINQ to SQL 不知道您的记录已更改。执行以下操作:
关于c# - 当表没有主键时使用 DeleteAllOnSubmit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34492509/
我正在尝试从没有主键的数据库中删除记录。以下作品: using (myDataContext db = new myDataContext ()) { db.ExecuteCommand("D
以下代码加载演出,清除演出事件集合,然后添加新事件。 Data.LinqToSQL.Gig dbGig = DBContext.Gigs.Where(x => x.ID ==
我可以通过再次调用 InsertAllOnSubmit() 恢复从 DeleteAllOnSubmit() 中删除的对象吗?还是相反? 最佳答案 您可以通过调用检索原始值: GetOriginalEn
DeleteAllOnSubmit 和 deleteonSubmit 的真正区别是什么,哪个更适合使用? 最佳答案 没有DeleteOnSubmit这样的东西也不DeleteAllOnSubmit在
当使用如下所示的 DeleteAllOnSubmit 语句时(我省略了 DataContext,因为我在这里使用的是 LinqPad) var deleteUs = Foo.Take(9658); F
我是一名优秀的程序员,十分优秀!