我的EF模型生成的默认代码有错误

本文关键字:默认 代码 有错误 EF 模型 我的 | 更新日期: 2023-09-27 18:14:44

这是一个新手问题,我实际上有点尴尬,因为我自己没能弄清楚,谁知道从LinqToSQL到EF的过渡将充满这样的细微差别。

基本上我所做的就是

1>使用visual studio 2012 Server Explorer创建一个只有一个表的MusicStore SQL数据库

2>然后我添加了一个新的ADO.Net Entity Data Model edmx,并使用在步骤1中指向我的数据库的向导生成它。

这给了我一个MusicStore表的图表。现在,如果我将属性中的Code Generation Strategy改为Default而不是none,那么这就是在MusicStoreModel.Designer.cs中生成的代码。

然而,

public MusicStoreEntities() : base("name=MusicStoreEntities", "MusicStoreEntities")

我得到了has some invalid arguments

我在这里错过了什么?一个参考吗?如有任何帮助,不胜感激。

public partial class MusicStoreEntities : ObjectContext
{
    #region Constructors
    /// <summary>
    /// Initializes a new MusicStoreEntities object using the connection string 
    ///found    in the 'MusicStoreEntities' section of the application 
    ///configuration file.
    /// </summary>
    public MusicStoreEntities() : base("name=MusicStoreEntities", "MusicStoreEntities")
    {
        // Also getting a compilation error at the line below
        this.ContextOptions.LazyLoadingEnabled = true;
        OnContextCreated();
    }

我的EF模型生成的默认代码有错误

这是设计。请参考以下链接了解微软的官方立场:实体框架5代码生成策略设置为DEFAULT会导致实体的所有属性错误。

(…)您看到这些编译错误的原因是因为您是否重新启用遗留代码生成而不禁用新代码生成基于T4的代码生成。这意味着有两组类正在生成。此页提供有关如何恢复到的详细信息ObjectContext代码生成http://msdn.microsoft.com/en-us/data/jj556581。