Entity framework Can';在SQLServerManagementStudio中看不到EF数据库
我已经使用EF代码创建了一个数据库,就像这里一样。但当我通过Entity framework Can';在SQLServerManagementStudio中看不到EF数据库,entity-framework,Entity Framework,我已经使用EF代码创建了一个数据库,就像这里一样。但当我通过add()将数据输入数据库,然后调用savechanges()时,我在SQL Server数据库文件夹中没有看到新数据库,也没有异常。是这样吗?在哪里可以找到我的数据库以及如何将其放入数据库文件夹 我使用以下代码: public class Name { public long NameId { get; set; } public string FullName { get; set;
add()
将数据输入数据库,然后调用savechanges()
时,我在SQL Server数据库文件夹中没有看到新数据库,也没有异常。是这样吗?在哪里可以找到我的数据库以及如何将其放入数据库文件夹
我使用以下代码:
public class Name
{
public long NameId { get; set; }
public string FullName { get; set; }
}
public class InfoContext : DbContext
{
public DbSet<Name> Names { get; set; }
}
我在web.config中有如下连接字符串:
<connectionStrings>
<add name="InfoName" providerName="System.Data.SqlClient"
connectionString="Server = .\MYINSTANCE; Initial Catalog=mydbname;" />
</connectionStrings>
根据您的评论,您需要修改项目根目录中的
web.config
文件(而不是视图
文件夹中的文件)。您可以在其中添加如下部分:
<connectionStrings>
<add name="EFDbContext" connectionString="Data Source = .; Initial Catalog = ITSDB; Integrated Security = true" providerName="System.Data.SqlClient"/>
</connectionStrings>
那么您的配置应该是:
<connectionStrings>
<add name="SomeContext" connectionString="Data Source = .; Initial Catalog = ITSDB; Integrated Security = true" providerName="System.Data.SqlClient"/>
</connectionStrings>
至于连接字符串,它取决于您的数据库。检查配置中的defaultConnectionFactory类型。我希望它设置为LocalConnectionFactory,因为这似乎是默认的 将其更改为以下内容,将使用您的SQL实例
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="Data Source=.; Integrated Security=True; MultipleActiveResultSets=True;" />
</parameters>
</defaultConnectionFactory>
数据库应以与命名空间和数据库上下文相匹配的名称出现在SQL Management Studio(SQLMS)中。或者,您可以输入在SQL Management Studio中选择的“Data Source=”值服务器名称
<connectionStrings>
<add name="SomeContext" connectionString="Data Source = **Server'sName**; Initial Catalog = ITSDB; Integrated Security = true" providerName="System.Data.SqlClient"/>
听起来你没有连接到正确的SQL server实例。检查你的app.config,看看键
defaultConnectionFactory
有什么。在我的项目mvc4中没有app.config作为默认值。如何创建和填充它?当我重新启动调试模式时,我会收到关于现有数据库和建议的异常d迁移。如果出现该错误,则DbContext正在连接到某个对象。是否存在web.config文件?我在主文件夹中有web.config,其中包含connectionstring和视图。您的DbContext是InfoContext,而connectionstring名称是“InfoName”。除非添加构造函数重载以指定连接字符串名称,否则它们必须相同。我添加了代码示例。如果我像使用SomeContext类名一样使用cString名称,则会发生错误(错误的cString)。
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="Data Source=.; Integrated Security=True; MultipleActiveResultSets=True;" />
</parameters>
</defaultConnectionFactory>
<connectionStrings>
<add name="SomeContext" connectionString="Data Source = **Server'sName**; Initial Catalog = ITSDB; Integrated Security = true" providerName="System.Data.SqlClient"/>