我已經開始在實體框架中使用CodeFirst方法。實體框架DbContext:值不能爲空,參數名稱來源
當運行我的代碼,我不能履行對的DbContext內DbSets任何操作 - ProductsDb
我檢查了連接字符串,我認爲這是正確的,但試圖在錯誤執行的操作結果
值不能爲空,參數源。
這裏是ProductsDb類
public class ProductsDb : DbContext
{
public ProductsDb(string connectionString) : base(connectionString)
{
}
public ProductsDb()
{
}
public DbSet<AProduct> AProducts;
public DbSet<BProduct> BProducts;
public DbSet<CProduct> CProducts;
public DbSet<DProduct> DProducts;
}
連接字符串是在App.config定義如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="ProductsDb" providerName="System.Data.SqlClient"
connectionString="Data Source=MyPC\DEV;Initial Catalog=Test;User ID=sa;
Password=pass;" />
</connectionStrings>
</configuration>
拋出的錯誤的代碼是:
GetAProduct(string id)
{
AProduct aProduct = null;
using (ProductsDb productsDb = new ProductsDb())
{
aProduct = (from a in productsDb.AProducts
where a.Id== id
select a).FirstOrDefault();
}
return aProduct;
}
所有的產品類都是普通的舊C#cl驢。
任何幫助將非常感激,我開始拉我的頭髮。 編寫Sql查詢時不會有任何問題。
更新:複製粘貼錯誤GetAProduct方法已被更改。
productsDb,哪裏來的? –
發佈你正在初始化'productsDb'的代碼 – SOfanatic
對不起,編輯文章 –