我有一個項目,我正在努力。我決定使用實體框架與DBContext生成器(有堅持不知道的對象),我現在堅持一些問題。如何在Entity Framework中創建對Context對象的引用以及如何使用DBContext對象?
這是我如何設置我的解決方案:
解決方案:
- MyProject的(我的web應用程序的項目)
- 的BusinessObjects(項目)中包含內部的所有對象(實體)myproject.tt文件。每個單獨的.cs文件。
- 數據訪問(項目)包含myproject.edmx,myproject.Context.tt文件
這裏是我的問題:(我是新來的這一切)
比方說,我有對象(實體)工作和我想定義這個對象上的select,insert,update和delete方法。 我該怎麼做?我試圖在BusinessObjects項目中創建文件夾Custom(我將所有自定義設置)。然後,我想在那裏定義我的方法,但我不知道如何創建ctx(上下文)對象的新實例。
這裏是我的代碼:
namespace BusinessObjects
{
public partial class Job
{
public Job GetJob(Guid Id) {
using (var ctx = new BestGigEntities())
}
return null; //for now
}
}
}
該錯誤消息我得到的是BestGigEntities不在命名空間中。 BestGigEntities應該存在於BusinessObjects中,但不知何故,當我試圖通過BusinessObject項目訪問它時,它不可見。但是我可以從我的主要Web項目中看到它。 在myproject.Context.tt中,我將BusinessObjects指定爲自定義工具命名空間。爲什麼我看不到它?
我檢查了我的myproject.Context.cs文件,我可以看到
public partial class BestGigEntities : DbContext
{
public BestGigEntities()
: base("name=BestGigEntities")
{
. ...
一切似乎是確定。我幾乎可以肯定我正確地添加了所有參考。我在想也許我正試圖在錯誤的地方定義這些方法?
BestGigEntities從我的web項目中可見,我可以從那裏使用它。
任何幫助表示讚賞。
BestGigEntities應該是在BusinessObjects命名空間,看到它很顯然不是,啥子名字空間是哪個? –
是的。它位於BusinessObjects名稱空間中。 .Context.cs文件位於DataAccess項目中,正如我所說的,DataAccess項目中的 – bobetko
tt文件具有指定爲自定義工具命名空間的BusinessObjects。 – bobetko