好的,這可能與EF無關。我想使用代碼優先功能和下面是我寫的: -實體框架 - 期待'providerInvariantName'參數的非空字符串
var modelBuilder = new ModelBuilder();
var model = modelBuilder.CreateModel();
using (AddressBook context = new AddressBook(model))
{
var contact = new Contact
{
ContactID = 10000,
FirstName = "Brian",
LastName = "Lara",
ModifiedDate = DateTime.Now,
AddDate = DateTime.Now,
Title = "Mr."
};
context.contacts.Add(contact);
int result = context.SaveChanges();
Console.WriteLine("Result :- "+ result.ToString());
}
的上下文類: -
public class AddressBook : DbContext
{
public AddressBook()
{ }
public AddressBook(DbModel AddressBook)
: base(AddressBook)
{
}
public DbSet<Contact> contacts { get; set; }
public DbSet<Address> Addresses { get; set; }
}
和連接字符串: -
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="AddressBook" connectionString="Data Source=MyMachine;Initial Catalog=AddressBook;Integrated Security=True;MultipleActiveResultSets=True;providerName=System.Data.SqlClient"/>
</connectionStrings>
</configuration>
所以,數據庫名稱是「AddressBook」,當我初始化AddressBook對象時發生錯誤。我看到有人建議將(providerName =「System.Data.SqlClient」)添加到連接字符串中。但它不適用於我的情況。我在這裏錯過了什麼嗎?
@leppie,感謝您編輯和格式化我的問題。 – 2010-08-30 09:51:42