我使用EF代码创建了一个数据库 - 首先是http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-code-first-walkthrough.aspx。但是当我通过add()
向db输入数据然后调用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; }
}
然后我称之为:
var db = new InfoContext();
var Names = new Name
{
NameId = 1,
FullName = "test"
};
db.Names.Add(Name);
db.SaveChanges();
var test = db.Names.Find(1);//there I get correct value
我在web.config中有connectionString,如下所示:
<connectionStrings>
<add name="InfoName" providerName="System.Data.SqlClient"
connectionString="Server = .\MYINSTANCE; Initial Catalog=mydbname;" />
</connectionStrings>
答案 0 :(得分:1)
根据您的评论,您需要修改项目根目录中的web.config
文件(而不是Views
文件夹中的文件。在那里,您可以添加如下部分:
<connectionStrings>
<add name="EFDbContext" connectionString="Data Source = .; Initial Catalog = ITSDB; Integrated Security = true" providerName="System.Data.SqlClient"/>
</connectionStrings>
元素的name属性是数据模型的DbContext名称,因此如果您的类定义为:
public class SomeContext : DbContext
{
...
}
然后你的配置应该是:
<connectionStrings>
<add name="SomeContext" connectionString="Data Source = .; Initial Catalog = ITSDB; Integrated Security = true" providerName="System.Data.SqlClient"/>
</connectionStrings>
对于连接字符串,它依赖于您的数据库。
答案 1 :(得分:0)
检查配置中的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)中,其名称与命名空间和DbContext匹配。
答案 2 :(得分:0)
或者您可以在“SQL Source Studio”中输入“Data Source =”值,这是您在SQL Management Studio中选择的服务器名称。
<connectionStrings>
<add name="SomeContext" connectionString="Data Source = **Server'sName**; Initial Catalog = ITSDB; Integrated Security = true" providerName="System.Data.SqlClient"/>