8

Insert我有一个类,我想在其中进行Update操作Delete

// Constructor.
public BaseManager()
{
    // Disable lazy loading.
    this.Context.Configuration.LazyLoadingEnabled = false;
}

public DBEntities Context = new DBEntities();

在这个类中,我不能对变量使用AddObject()扩展方法。键入后没有出现方法ContextAddObject()Context.

这是我导入的命名空间:

using System;
using System.Collections.Generic;
using System.Data.Linq;
using System.Text;

我能够在 .Net Framework 3.5 中使用它,但不能在 .Net Framework 4.5 上使用

我做错了什么?

更新:

导入using System.Data.Entity;using System.Data.Objects;不工作。

这是我要使用的方法:http: //msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.addobject.aspx

再次更新:

我意识到我的 DBEntities 源自DbContext.Net Framework 4.5,但它源自ObjectContext.Net Framework 3.5,因此我能够使用AddObject()方法。

原始实体类:

public partial class DBEntities : DbContext
    {
        // ...
    }

我想这样做:

public partial class DBEntities : ObjectContext
    {
        // ...
    }

如果我将基类从DbContextto更改为ObjectContext是否构成任何问题?

4

2 回答 2

9

展开YourModel.edmx文件。你可以在那里看到 4 个文件。用 . 删除文件.tt extension.。然后双击YourModel.edmx文件。在YourModel.edmx图表窗口中右键单击并选择Properties.

在属性窗口中,将 Code Generation Strategy None设置为Default

截屏

干杯!!

于 2014-02-22T05:00:59.980 回答
1

AddObject存在于容器内的每个实体上。

Context.TableName.AddObject(New TableElement...)
于 2013-08-30T01:31:24.503 回答