日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Entity Framework Core 命名约定

發(fā)布時(shí)間:2023/12/4 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Entity Framework Core 命名约定 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final)。正式版發(fā)布時(shí),功能可能存在變動(dòng)。Entity Framework 遷移允許從模型生成數(shù)據(jù)庫(kù),這意味著必須從類名和屬性名生成數(shù)據(jù)庫(kù)對(duì)象的名稱。對(duì)于大多數(shù)人來說使用默認(rèn)名稱是沒有問題的,但是,您的DBA可能會(huì)要求您使用特定的命名約定。例如,一些DBA希望表名大寫,或者列名使用表名為前綴。Entity Framework 允許逐個(gè)設(shè)置表名或列名:

protected override void OnModelCreating(ModelBuilder modelBuilder){modelBuilder.Entity<Blog>().ForSqlServerToTable("Blog"); }

但是,寫這些代碼非常無聊并且容易出錯(cuò),不應(yīng)該逐個(gè)設(shè)置對(duì)像的名稱,您可以通過修改模型實(shí)現(xiàn)全局設(shè)置。事實(shí)上modelBuilder是可讀寫的,您可以迭代所有對(duì)象并更改其名稱。

public class BloggingContext : DbContext{ ?
? ?public DbSet<Blog> Blogs { get; set; } ?
?? ? public DbSet<Post> Posts { get; set; }
?? ?
??? ?protected override void OnModelCreating(ModelBuilder modelBuilder) ? ?{ ? ?
??? ?? ?base.OnModelCreating(modelBuilder); ? ? ? ?// Singularize table name// Blogs => Blogforeach (var entityType in modelBuilder.Model.GetEntityTypes()){ ? ? ? ? ? ?// Add NuGet package "Humanizer" to use Singularize()entityType.Relational().TableName = entityType.Relational().TableName.Singularize();} ? ? ? ?// Prefix column names with table name// Id => Blog_Idforeach (var entityType in modelBuilder.Model.GetEntityTypes()){ ? ? ? ? ?
??? ?? ? ?foreach (var property in entityType.GetProperties()){property.Relational().ColumnName = entityType.Relational().TableName + "_" + property.Relational().ColumnName;}} ? ? ? ?// Rename Foreign Key// FK_Post_Blog_BlogId => FK_Post_Blog_BlogId_Testforeach (var entityType in modelBuilder.Model.GetEntityTypes()){ ? ? ? ? ?
??? ?? ? ? ?foreach (var property in entityType.GetProperties()){ ? ? ? ? ? ?
??? ?? ? ? ?? ?foreach (var fk in entityType.FindForeignKeys(property)){fk.Relational().Name = fk.Relational().Name + "_Test";}}} ? ? ? ?// Rename Indices// IX_Blog_Url => IX_Blog_Url_Testforeach (var entityType in modelBuilder.Model.GetEntityTypes()){ ? ? ? ? ?
??? ?? ? ? ?foreach (var index in entityType.GetIndexes()){index.Relational().Name = index.Relational().Name + "_Test";}}} }

在 Package Manager Console 中運(yùn)行以下命令:

Add-Migration NamingConvention Update-Database

上面的命令將生成以下數(shù)據(jù)庫(kù)架構(gòu):

CREATE TABLE [dbo].[Blog] ([Blog_BlogId] INT ? ? ? ?
? ?IDENTITY (1, 1) NOT NULL,[Blog_Url] ? ?NVARCHAR (450) NULL, ? ?CONSTRAINT [PK_Blog] PRIMARY KEY CLUSTERED ([Blog_BlogId] ASC) );
? ?CREATE UNIQUE NONCLUSTERED INDEX [IX_Blog_Url_Test] ? ?ON [dbo].[Blog]([Blog_Url] ASC) WHERE ([Blog_Url] IS NOT NULL);CREATE TABLE [dbo].[Post] ([Post_PostId] ?INT ? ? ? ? ? ?IDENTITY (1, 1) NOT NULL,[Post_BlogId] ?INT ? ? ? ? ? ?NOT NULL,[Post_Content] NVARCHAR (MAX) NULL,[Post_Title] ? NVARCHAR (MAX) NULL, ? ?CONSTRAINT [PK_Post] PRIMARY KEY CLUSTERED ([Post_PostId] ASC), ? ?CONSTRAINT [testFK_Post_Blog_BlogId] FOREIGN KEY ([Post_BlogId]) REFERENCES [dbo].[Blog] ([Blog_BlogId]) ON DELETE CASCADE);CREATE NONCLUSTERED INDEX [IX_Post_BlogId_Test] ? ?ON [dbo].[Post]([Post_BlogId] ASC);

您可以看到生成數(shù)據(jù)庫(kù)對(duì)象名稱遵循的命名約定。

相關(guān)文章:?

  • Entity Framework Core 生成跟蹤列

  • 在Apworks數(shù)據(jù)服務(wù)中使用基于Entity Framework Core的倉(cāng)儲(chǔ)(Repository)實(shí)現(xiàn)

  • Entity Framework Core的貼心:優(yōu)雅處理帶默認(rèn)值的數(shù)據(jù)庫(kù)字段

  • Entity Framework Core 實(shí)現(xiàn)MySQL 的TimeStamp/RowVersion 并發(fā)控制

  • Entity Framework Core 軟刪除與查詢過濾器

原文地址:http://www.cnblogs.com/tdfblog/p/entity-framework-core-naming-convention.html


.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注

總結(jié)

以上是生活随笔為你收集整理的Entity Framework Core 命名约定的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 人妻无码久久精品人妻 | 日韩一及片 | 中文字幕精品一区二区三区精品 | 午夜免费小视频 | 91在线视频国产 | 一区二区国产精品 | 综合五月婷 | 西方av在线 | 国产香蕉尹人视频在线 | 免费网站在线观看人数在哪动漫 | 精品一区在线看 | 欧美一级少妇 | 久久精品蜜桃 | 人操人操| 久久亚洲av午夜福利精品一区 | 日本天堂在线 | 久久人人精 | 欧美一区二区视频在线观看 | 国产二级视频 | 精品久久久视频 | 无码一区二区精品 | 欧美整片sss | 色网在线看 | 欧美黄色三级视频 | av大片在线免费观看 | 午夜爱爱毛片xxxx视频免费看 | 少妇一晚三次一区二区三区 | 96精品视频在线观看 | 日韩中文在线字幕 | 原创av| 中文字幕在线免费看线人 | av每日更新在线观看 | 亚洲国产精品自拍视频 | 欧美性猛交ⅹxxx乱大交3 | 欧美日韩亚洲国产综合 | 91看片在线| 亚洲欧美激情视频 | 激情综合影院 | 一区二区欧美日韩 | 老太脱裤让老头玩ⅹxxxx | 国产又粗又长又黄视频 | 国产成人一级 | 亚洲天堂免费视频 | 欧美做爰xxxⅹ性欧美大片 | 正在播放adn156松下纱荣子 | 99精品人妻少妇一区二区 | 久久免费的精品国产v∧ | 国产真实交换夫妇视频 | 青青操av在线 | 在线观看免费 | 欧美久久久久久久 | 九一在线观看免费高清视频 | h在线观看视频 | 狠狠爱av | 99人人爽| 国产在线观看免费网站 | 伊人久久青草 | 中文字幕一区二区人妻在线不卡 | 成年人在线免费观看视频网站 | 欧美一级电影在线 | 国产真实偷伦视频 | 久久久这里有精品 | 偷偷久久 | 中文字幕在线观看一区二区三区 | 热久久久久 | 爱豆国产剧免费观看大全剧集 | 黄色一级小视频 | 一区二区三区视频在线 | 国产精品视频网站 | 一本一道波多野结衣一区二区 | 欧美成人a交片免费看 | 亚洲va欧美va | 国产精选在线 | 99热这里只有精品5 国产精品伦子伦免费视频 精品一二三 | 国产第一草草影院 | 欧美 在线 | 五月天丁香 | 亚洲综合日韩精品欧美综合区 | 91视频免费在线 | youjizz自拍| 欧美影院| 日韩精品一区二区三区在线 | 大尺度床戏揉捏胸视频 | 国产亚洲在线观看 | 亚洲欧美国产精品专区久久 | 麻豆蜜臀 | 综合久久中文字幕 | 成人免费视频网站在线看 | 人人干干人人 | 在线观看黄色的网站 | 国产999视频 | 欧美日韩在线视频观看 | 日韩精品v | 亚洲欧美在线一区 | 日本特黄特色aaa大片免费 | 免费日韩欧美 | 91婷婷 | 欧美少妇网 | 性欧美ⅹxxxx极品护士 |