Im新的C#和實體框架,我有一個關於數據庫類的字段和初始化的問題。數據庫類實例,字段,實體框架
我從我的老師的程序中收到了一些通過實體框架與MySQL數據庫連接的代碼。
到目前爲止,我們已經看到了一些示例,其中用於向數據庫添加東西的內部方法首先創建它的一個實例。我們迄今爲止看到的一個例子:
using (var db = new p4_databaseEntities())
{
cp_car carEntity = new cp_car();
carEntity.make = car.make;
carEntity.model = car.model;
carEntity.year = car.year;
db.cp_car.Add(carEntity); //
db.SaveChanges();
MessageBox.Show("A Car has been added");
}
this.Close();
cp_car是數據庫中的表和程序中的類。 db是數據庫的當前實例。
現在,在我收到的代碼中,這不是這樣完成的。它在另一個問題上完成。順便說一句,該方案是一個Windows窗體。
在構造函數的第一個窗體窗口中,他創建了一個新的數據庫實例,並從另一個名爲LinqQueries的類中調用名爲init 的方法。該代碼:
public Form1()
{
InitializeComponent();
p4_databaseEntities db = new p4_databaseEntities();
LinqQueries.Init(db);
this.CenterToScreen();
}
如何LinqQueries類如下:
private static p4_databaseEntities _db;
public static void Init(p4_databaseEntities db)
{
_db = db;
}
據我瞭解,他在構造函數中,在那裏他還呼籲init方法創建的數據庫的一個新實例。此方法然後將db對象定義爲_db。現在他爲從數據庫中添加或刪除數據所使用的每一種方法都使用_db而不是db。
我的問題是,這是否意味着init方法將類型爲p4_databaseEntities(數據庫類的名稱)的靜態字段指定爲對象? _db然後是一個對象的值?它是一個對象的引用嗎?同時我也注意到,在對數據庫進行更改時,他一次又一次地使用相同的字段,導致我相信它可能是一個活動對象,它不會在程序壽命中死去?
如果有人可以澄清這將不勝感激。請原諒我所做的任何錯誤或錯誤陳述,如有任何形式的錯誤,請糾正我。我是C#和實體框架的新成員。
由於事先
誰寫的代碼?你可以問作者嗎? – mjwills