導航:首頁 > 編程大全 > ef生成資料庫

ef生成資料庫

發布時間:2023-02-25 14:49:47

1. EF通過資料庫生成code first實體,資料庫中不添加外鍵關系,實體類中如何配置關聯關系

你是想資料庫不要外鍵 但是實體要導航屬性吧

需求蠻奇特的

  1. 你實體也不加導航屬性 需要關聯數據的時候用 JOIN 查詢

  2. 重新EF介面 在生成資料庫的時候 只解釋生成關系

2. .net+mvc5+oracle,使用EF自動創建資料庫表的時候,為什麼關聯表沒有自動生成

可以使用Entity Framework的Db First模式抄生襲成model。
第一步:創建
ASP .NET MVC項目
第二步:創建實體模型
在項目上右擊 添加新建項目→Ado.Net實體數據模型
如下圖所示:

第三步:與現有的資料庫進行連接生成EF實體
然後按照如下所示,選擇從資料庫生成實體數據模型【當然如果你想使用CodeFirst方式也是可以的,這是後話了】:

新建連接到現有的資料庫,如下圖所示:

點擊下一步,選擇我們要生成實體對應的表、試圖、存儲過程等,如下圖所示:

最後點擊完成,則系統幫我們生成了資料庫實體類以及EDMX的定義文件

如圖所示:

3. 採用EF開發資料庫,前台使用jqGrid直接獲取數據。現在問題,如果有多表聯合查詢如何解決

若EF是採用代碼優先生成資料庫的話則需要修改EF中對應的Model的代碼,即info中新增一列即可,不需要改動其他內容了;

若EF是採用根據現有資料庫生成的話,需要在資料庫對應表中添加一列,再重新生成EF的代碼即可。

4. EF code first 怎樣創建資料庫視圖

1. 使用CodeFirst方式創建資料庫
我們新建一個控制台項目,項目中添加兩個Model:Author和Blog以及DbContext。 DbContext的添加方式如下:
項目上右鍵->添加->新建項->ADO.NET Entity Data Model->Empty Code First model
項目代碼如下:

1 //默認生成的數據表名為類名+字母s,這里使用TableAttribute來指定數據表名為T_Authors
2 [Table("T_Authors")]
3 public class Author
4 {
5 public int Id { set; get; }
6 public string Name { set; get; }
7 /*
8 此處定義了Blog類型的屬性,所以要確保Blog類中至少要有一個表示主鍵的欄位,即public int Id { set; get; }。
否則在生成數據表時會報錯:"EntityType 'Blog' has no key defined. Define the key for this EntityType.
9 Blogs: EntityType: EntitySet 'Blogs' is based on type 'Blog' that has no keys defined."
10 */
11 public virtual ICollection<Blog> Blogs { set; get; }
12 }
13
14 [Table("T_Blogs")]
15 public class Blog
16 {
17 public int Id { set; get; }
18 public string Title { set; get; }
19 public DateTime Time { set; get; }
20 public int AuthorId { set; get; }
21 public virtual Author Author { set; get; }
22 }
23
24 public class MyDbContext: DbContext
25 {
26 public MyDbContext()
27 : base("name=MyDbContext")
28 {
29 }
30 //DbContext會根據配置文件中connectionStrings指定的資料庫名稱來建立資料庫
31 //DbContext根據DbSet屬性的類型來創建數據表,這里指定了Author類型的屬性,所以會生成T_Authors數據表
32 public virtual DbSet<Author> Authors { set; get; }
33 }

CodeFirst方式會根據配置文件中的配置生成資料庫,這里小編使用的是MYSQL資料庫,配置文件如下:

1 <!--EF for MYSQL-->
2 <entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">
3 <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
4 <providers>
5 <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
6 </providers>
7 </entityFramework>
8 <connectionStrings>
9 <add name="MyDbContext" connectionString="server=localhost;port=3306;database=EF;uid=root;password=root" providerName="System.Data.MySqlClient" />
10 </connectionStrings>

PS:小編使用的是EF6和MYSQL資料庫,所以要在項目中添加對Mysql.Data.Entity.EF6以及EntityFrameword 6.0的引用。
到此,我們已經完成生成資料庫的工作,接下來在Main方法中寫兩行代碼:
1 using (var db = new ManagerDb())
2 {
3 db.Authors.Add(new Author() { Name = "xfh" });
4 db.SaveChanges();
5 }

5. EF中的code first模式 怎麼創建資料庫

方法/步驟

6. C# ef自動生成資料庫

要把Model 轉換成SQl 資料庫 只能還原出結構出來
類似ORM Model First
找到這個類 對應的屬性 跟類名 產生對應的表名+欄位名 的SQl Creat Table 語法

閱讀全文

與ef生成資料庫相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接