- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Entity Framework 的新手,我认为我在这里误解了一些东西。
我试图在表中插入一行,在我找到代码示例的任何地方,他们都调用方法 InsertOnSubmit(),但问题是我在任何地方都找不到方法 InsertOnSubmit 或 SubmitChanges。
错误告诉我:
System.Data.Object.ObjectSet 不包含 InsertOnSubmit 的定义,...
我做错了什么??
http://msdn.microsoft.com/en-us/library/bb763516.aspx
GMR_DEVEntities CTX;
CTX = new GMR_DEVEntities();
tblConfig Config = new tblConfig { ID = Guid.NewGuid(), Code = "new config code" };
CTX.tblConfigs.InsertOnSubmit(Config); // Error here
最佳答案
InsertOnSubmit
是一个 Linq-to-SQL 方法,而不是在 Entity Framework 中。
但是,由于我们的项目是从 Linq 到 SQL 的转换,因此我们有一些扩展方法可能会有所帮助:
public static class ObjectContextExtensions
{
public static void SubmitChanges(this ObjectContext context)
{
context.SaveChanges();
}
public static void InsertOnSubmit<T>(this ObjectQuery<T> table, T entity)
{
table.Context.AddObject(GetEntitySetName(table.Context, entity.GetType()), entity);
}
public static void InsertAllOnSubmit<T>(this ObjectQuery<T> table, IEnumerable<T> entities)
{
var entitySetName = GetEntitySetName(table.Context, typeof(T));
foreach (var entity in entities)
{
table.Context.AddObject(entitySetName, entity);
}
}
public static void DeleteAllOnSubmit<T>(this ObjectQuery<T> table, IEnumerable<T> entities) where T : EntityObject, new()
{
var entitiesList = entities.ToList();
foreach (var entity in entitiesList)
{
if (null == entity.EntityKey)
{
SetEntityKey(table.Context, entity);
}
var toDelete = (T)table.Context.GetObjectByKey(entity.EntityKey);
if (null != toDelete)
{
table.Context.DeleteObject(toDelete);
}
}
}
public static void SetEntityKey<TEntity>(this ObjectContext context, TEntity entity) where TEntity : EntityObject, new()
{
entity.EntityKey = context.CreateEntityKey(GetEntitySetName(context, entity.GetType()), entity);
}
public static string GetEntitySetName(this ObjectContext context, Type entityType)
{
return EntityHelper.GetEntitySetName(entityType, context);
}
}
EntityHelper
is as per the MyExtensions开源
library .
关于winforms - 找不到 InsertOnSubmit() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9333811/
创建新对象 (Foo) 后,我为 EntityRef 关联属性 (Bar) 设置键 (BarId)。然后我想将新对象插入数据库,然后能够访问延迟加载的子对象。 不幸的是,延迟加载属性在调用 Inser
LINQ to SQL - 当插入一行(以及其他几行 FK 将指向该行上的 PK)时,执行 [context].[MainTable].InsertOnSubmit(row) 是否足够,或者我是否其他
在使用 SubmitChanges() 之前使用 InsertOnSubmit() 函数插入行时,有没有一种方法可以检查数据库的约束? 原因,我正在循环从 csv 文件生成的数据表。我一次插入 1 行
我是 Entity Framework 的新手,我认为我在这里误解了一些东西。 我试图在表中插入一行,在我找到代码示例的任何地方,他们都调用方法 InsertOnSubmit(),但问题是我在任何地方
我有一个映射到数据库表的对象模型。更新查询现在看起来像这样: public MyObjectModel CreateNewRecord(MyObjectModel TheNewObject) {
我对 LinqToSql 有一个相当烦人的问题。我创建了一个派生自 DataContext 中的类的类。 问题是一旦我使用“InsertOnSubmit(this);”在这个派生类上我得到一个 Nul
我正在进行大量导入,并且只对 1,000 条记录执行 .SubmitChanges()。 例子: var targetRecord = new Data.User() { FirstName = so
我确实查看了相关的帖子,但在 InsertOnSubmit() 中仍然出现 NullReference 异常。 我有一个自动生成的 LINQ 类事务,我从中创建了一个派生类来覆盖 ToString()
与How to debug a linq to sql InsertOnSubmit statement?相关 我执行以下代码: db.DBUsers.InsertOnSubmit(new DBUse
正在编辑其他人的代码,想知道在使用 for 循环和 InsertOnSubmit 时,submitchanges 调用是在循环内还是在循环外。 即: foreach (string t in newT
我有以下代码: public static bool Update(UserExtendedData data, byte[] image) { data
例如,我有一个名为 Product 的列表,它有 3 列,ProductName(即标题)、ProductPrice 和 ProductType。 ProductName 是一个字符串 Product
我尝试使用 Linq 将记录插入到表中,但出现了可怕的无法使用已在使用的 key 添加实体错误 'If the same data exists for the same patient in a r
我试图理解这两者之间的区别,并且真的需要一个简单的解释性示例。 提前致谢.. 最佳答案 有一个 good Q&A关于这个在 MSDN 论坛上。最有趣的一点: InsertAllOnSubmit() s
我知道有一个 question标题基本相同,但在我的情况下有所不同。我从 Linq-to-SQL 转移到 Entity Framework(我对它有点陌生)并且我有一个使用 InsertOnSubmi
以下代码已准备就绪。 db.DBUsers.InsertOnSubmit(new DBUser { AllTheStuff = valuesBeyondYourWildestD
假设我有: using (SomeDataContext db = new SomeDataContext()) { foreach(Item i in Items) {
当 SubmitChanges 失败时,我无法撤消失败的 InsertOnSubmit。代码如下: Dim NewFac As New t_Facility With
我目前正在我的数据访问类上创建一个方法,它将把一个实体对象插入到数据库中,我希望之后能得到最新插入的 ID……我已经做到了,但后来我想知道如果该方法以某种方式同时被调用两次会发生什么,它会返回错误的
插入新子记录的最佳方法是什么:使用 Add() 或 InsertOnSubmit()?这些方法之间有什么区别吗? InsertOnSubmit() 示例: using (DataContext db
我是一名优秀的程序员,十分优秀!