实体框架不保存对本地数据库的更改

时间:2017-04-20 10:27:14

标签: c# winforms entity-framework-6

我是C#和Entity Framework的新手,我正在尝试编写一个应用程序来提高我的知识。

我想我已经正确设置了所有内容,但我没有遇到任何类型的错误。问题是我无法在Visual Studio 2017中向localDb添加新记录。

有什么想法吗?提前谢谢。

这是我的代码

private void Save_btn_Click(object sender, EventArgs e)
{
        var context = new Database1Entities();

        var aMemberdef = new Members()
        {
            FirstName = Name_txt.Text,
            LastName = LastName_txt.Text
        };

        context.Members.Add(aMemberdef);
        context.SaveChanges();
}

和我的app.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <section name="entityFramework" 
                 type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
                 requirePermission="false" />
    </configSections>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
    </startup>
    <connectionStrings>
        <add name="Database1Entities" 
             connectionString="metadata=res://*/EF.Model1.csdl|res://*/EF.Model1.ssdl|res://*/EF.Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(LocalDB)\MSSQLLocalDB; attachdbfilename=|DataDirectory|\Data\Database1.mdf; initial catalog=Database1; integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
             providerName="System.Data.EntityClient" />
    </connectionStrings>
    <entityFramework>
        <defaultConnectionFactory  
             type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
        <providers>
            <provider invariantName="System.Data.SqlClient" 
                      type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
        </providers>
    </entityFramework>
</configuration>

我认为app配置文件中存在一些错误,但连接字符串是由实体框架生成的。所以我被困MyDB Structure

1 个答案:

答案 0 :(得分:0)

因为您每次运行localdb时都会将其复制到bin文件夹中。每次您运行/调试时,它都会被覆盖。项目文件夹中的主文件未更新。 有关详细答案: https://social.msdn.microsoft.com/Forums/en-US/393bddc6-0b85-4c27-9475-27172e50d2d9/entity-framework-doesnt-save-new-record-into-database?forum=adodotnetentityframework