可以';t首先使用实体框架代码创建数据库

本文关键字:实体 框架 代码 数据库 创建 可以 | 更新日期: 2023-09-27 18:22:05

我尝试首先在Windows窗体应用程序中使用实体框架代码在SQL Server中创建数据库。该程序运行时没有任何错误,但我在SQL Server中看不到任何数据库。为什么?

我创建了2个类

public class Country :System.Object
{
    public int Id { get; set; }
    public string Name { get; set; }
    public Country()
    {
    }
    public Country(int id, string name)
    {
            this.Id = id;
            this.Name = name;
    }
}
class DataBaseContext : System.Data.Entity.DbContext
{
    public DataBaseContext()
        : base("connectionStringName")
    {
    }
    public System.Data.Entity.DbSet<Country> countries { get; set; }
}
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e)
    {
        Models.DataBaseContext ODB = null;
        try
        {
            ODB = new Models.DataBaseContext();
            Models.Country OCountries = new Models.Country();
            OCountries.Id = 1;
            OCountries.Name="AA";
            ODB.countries.Add(OCountries);
            ODB.SaveChanges();
        }
        catch (Exception ex)
        {
            System.Windows.Forms.MessageBox.Show(ex.Message);
        }
        finally   
        {
            if (ODB != null)
            {
                 ODB.Dispose();
                 ODB = null;
            }
        }
    }
}

CCD_ 1为

<?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" />
</startup>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
 <parameters>
 <parameter value="mssqllocaldb" />
 </parameters>
  </defaultConnectionFactory>
  <providers>
  <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
  <providers>
 </entityFramework>
</configuration>

可以';t首先使用实体框架代码创建数据库

基于您的连接字符串,数据库将在localdb中创建。

您可以打开Sql Server Management Studio,将"服务器名称"更改为(localdb)'mssqllocaldb,将"身份验证"更改为"Windows身份验证",然后登录到系统上安装的本地数据库实例。在那里你可以找到实体框架创建的数据库。

还要记住,.NET有统一的对象模型,这意味着您不需要从中派生类,所以将public class Country :System.Object更改为public class Country