Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF6仍然使用错误的用法生成空间类_C#_Entity Framework_Entity Framework 6_Geospatial - Fatal编程技术网

C# EF6仍然使用错误的用法生成空间类

C# EF6仍然使用错误的用法生成空间类,c#,entity-framework,entity-framework-6,geospatial,C#,Entity Framework,Entity Framework 6,Geospatial,我有几个带有DbGeography[geography]列的实体[表],还有一个使用ObjectParameter和IObjectContextAdapter的存储过程 每次从数据库更新EDMX模型时,我都需要重写: //for each geography column public System.Data.Spatial.DbGeography geoColum //for class where stored procedure is generated using System.Data

我有几个带有
DbGeography
[geography]列的实体[表],还有一个使用
ObjectParameter
IObjectContextAdapter
的存储过程

每次从数据库更新EDMX模型时,我都需要重写:

//for each geography column
public System.Data.Spatial.DbGeography geoColum
//for class where stored procedure is generated
using System.Data.Objects;
using System.Data.Objects.DataClasses;

在我的项目中,因为它不使用EF生成的类进行编译


为什么EF 6仍然生成此错误?如何强制EF生成正确的路径?

您仍在使用旧版本的Entity Framework生成代码。确保已将项目正确更新为EF6

如果使用EF Designer创建了任何模型,则需要更新代码生成模板以生成与EF6兼容的代码

注意:目前只有EF 6.x DbContext生成器模板可用于Visual Studio 2012和2013

  • 删除现有的代码生成模板。这些文件通常命名为
    .tt
    .Context.tt
    ,并嵌套在解决方案资源管理器中的edmx文件下。您可以在解决方案资源管理器中选择模板,然后按Del键将其删除

    注意:在网站项目中,模板不会嵌套在您的edmx文件下,而是在解决方案资源管理器中将其列在旁边

    注意:在VB.NET项目中,需要启用“显示所有文件”才能查看嵌套的模板文件

  • 添加适当的EF 6.x代码生成模板。在EF Designer中打开您的模型,右键单击设计图面并选择添加代码生成项…

    • 如果您使用的是DbContext API(推荐),则EF 6.x DbContext生成器将在数据选项卡下可用

      注意:如果您使用的是Visual Studio 2012,则需要安装EF 6工具才能使用此模板。有关详细信息,请参见获取实体框架

    • 如果您使用的是ObjectContext API,则需要选择Online选项卡并搜索EF 6.x EntityObject Generator

  • 如果将任何自定义应用于代码生成模板,则需要将其重新应用于更新的模板


  • 有关更多详细信息,请参阅。

    我已使用EF 6启动了此项目,因此我有点困惑,但如果有帮助,我会尝试使用此信息,谢谢。
    //for each geography column
    public System.Data.Entity.Spatial.DbGeography geoColum
    //for class where stored procedure is generated
    using System.Data.Entity.Core.Objects;
    using System.Data.Entity.Core.Objects.DataClasses;