掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
EF框架:一種新建數(shù)據(jù)庫及設置密碼的方法

成都創(chuàng)新互聯(lián)公司從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都做網(wǎng)站、網(wǎng)站建設、外貿(mào)營銷網(wǎng)站建設網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元潁泉做網(wǎng)站,已為上家服務,為潁泉各地企業(yè)和個人服務,聯(lián)系電話:18980820575
隨著互聯(lián)網(wǎng)時代的到來,數(shù)據(jù)庫扮演了越來越重要的角色。面對數(shù)據(jù)處理的需求,人們尋找了各種不同的數(shù)據(jù)庫框架。在這樣的背景下,Entity Framework(EF)框架應運而生。EF框架是一個用于構(gòu)建數(shù)據(jù)訪問應用程序的開放源代碼ORM框架,被廣泛應用于互聯(lián)網(wǎng)、企業(yè)級應用程序等各種場景下。本篇文章將介紹EF框架如何新建數(shù)據(jù)庫及設置密碼。
EF框架新建數(shù)據(jù)庫
步驟1:確定連接字符串
EF框架采用連接字符串的形式連接數(shù)據(jù)庫,該字符串在應用程序中使用,以建立與數(shù)據(jù)庫之間的連接。連接字符串可能帶有以下基本屬性:數(shù)據(jù)源、用戶名、密碼等。
步驟2:創(chuàng)建上下文類
EF框架是在上下文類中定義數(shù)據(jù)庫實體,當給予上下文類的許多工作是來自dbcontext類的屬性和方法。DBContext是提供連接客戶端,并管理生命周期的一個核心類。DBContext中的dbset映射到數(shù)據(jù)庫中的表,而這些表包括屬性和方法。
步驟3:創(chuàng)建實體類
實體是一個基本的數(shù)據(jù)存儲單元,對于一個數(shù)據(jù)庫表格來說,它就是多個數(shù)據(jù)行的抽象。同一張表的若干個行的實體組成一個實體。極其常見的模式是將一張表映射成一個實體類。定義這個實體類的一些映射就不局限于在儲存的時候,也可以在查詢的內(nèi)部中使用。
步驟4:使上下文支持自動遷移
Entity Framework支持自動遷移,可以防止由于數(shù)據(jù)庫模型和數(shù)據(jù)庫實際說明不符合導致的錯誤。自動遷移過程要確保通過編寫適當?shù)拇a來進行遷移并確保模型與數(shù)據(jù)庫接口的同步。
EF框架設置密碼
步驟1:設置EF框架連接字符串
EF框架連接字符串包含用戶名和密碼,需要證明才能連接數(shù)據(jù)庫。當認證成功之后,EF框架將能夠創(chuàng)建數(shù)據(jù)庫的實例進行管控。
步驟2:啟用EF框架器自帶的身份驗證
身份驗證由EF框架器處理,它自帶了一個標準的身份驗證器。通過該身份驗證器可以連接用戶并通過用戶數(shù)據(jù)庫操作。設置方法如下:
1.在Web.config中使用建立MembershipProvider(成員提供器)
2.在Web.config中使用建立DefaultConnection(默認連接處理程序)
3.使用ASP.NET的協(xié)同處理器集成完整的EF身份驗證和授權
步驟3:在EF框架上設置C#數(shù)據(jù)結(jié)構(gòu)的加密和解密方法
使用C#實現(xiàn)的加密機制可以保護數(shù)據(jù)庫信息,在EF框架中實現(xiàn)加密和解密的方法可用于防止黑客入侵,方法如下:
public static byte[] Encrypt(T item, string password)
{
return Crypto.Encrypt(item, password);
}
public static T Decrypt(byte[] item, string password)
{
return Crypto.Decrypt(item, password);
}
相關問題拓展閱讀:
1. 使用CodeFirst方式創(chuàng)建數(shù)據(jù)庫
我們新建一個控制臺項目,項目中添加兩個Model:Author和Blog以及DbContext。 DbContext的添加方式如下:
項目上右鍵->添加->新建項->ADO.NET Entity Data Model->Empty Code First model
項目代碼如下:
1 //默認生成的數(shù)據(jù)表名為類名+字母s,這里使用TableAttribute來指定數(shù)據(jù)表名為T_Authors
{
public int Id { set; get; }
public string Name { set; get; }
/*
此處定義了Blog類型的屬性,所以要確保Blog類中至少要有一個表示主鍵的字段,即public int Id { set; get; }。
否則在生成數(shù)據(jù)表時會報錯:”EntityType ‘Blog’ has no key defined. Define the key for this EntityType.
Blogs: EntityType: EntitySet ‘Blogs’ is based on type ‘Blog’ that has no keys defined.”
*/
public virtual ICollection Blogs { set; get; }
}
13
public class Author
{
public int Id { set; get; }
public string Title { set; get; }
public DateTime Time { set; get; }
public int AuthorId { set; get; }
public virtual Author Author { set; get; }
}
23
public class MyDbContext: DbContext
{
public MyDbContext()
: base(“name=MyDbContext”)
{
}
//DbContext會根據(jù)配置文件中connectionStrings指定的數(shù)據(jù)庫名稱來建立數(shù)據(jù)庫
//DbContext根據(jù)DbSet屬性的類型來創(chuàng)建數(shù)據(jù)拍畢芹表,這里指定了Author類型的屬性,所以會生成T_Authors數(shù)據(jù)表
public virtual DbSet Authors { set; get; }
}
CodeFirst方式會根據(jù)配置文件數(shù)兆中的配襲畢置生成數(shù)據(jù)庫,這里小編使用的是MYSQL數(shù)據(jù)庫,配置文件如下:
1
2
8
PS:小編使用的是EF6和MYSQL數(shù)據(jù)庫,所以要在項目中添加對Mysql.Data.Entity.EF6以及EntityFrameword 6.0的引用。
到此,我們已經(jīng)完成生成數(shù)據(jù)庫的工作,接下來在Main方法中寫兩行代碼:
1 using (var db = new ManagerDb())
2 {
3 db.Authors.Add(new Author() { Name = “xfh” });
4 db.SaveChanges();
ef新建數(shù)據(jù)庫密碼的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關于ef新建數(shù)據(jù)庫密碼,EF框架如何新建數(shù)據(jù)庫及設置密碼?,net-EF codefirst 怎么在創(chuàng)建數(shù)據(jù)庫時增加初始數(shù)據(jù)的信息別忘了在本站進行查找喔。
數(shù)據(jù)庫運維技術服務 ? EF框架如何新建數(shù)據(jù)庫及設置密碼? (ef新建數(shù)據(jù)庫密碼)
分享到:
如何監(jiān)聽短信數(shù)據(jù)庫?教你一招! (監(jiān)聽短信數(shù)據(jù)庫)
如何在Sybase數(shù)據(jù)庫中創(chuàng)建一個表的主鍵 (sybase數(shù)據(jù)庫創(chuàng)建一個表的主鍵)
數(shù)據(jù)庫復制命令詳解,讓你徹底掌握! (數(shù)據(jù)庫復制命令是什么)
四行java代碼連接數(shù)據(jù)庫,輕松實現(xiàn)數(shù)據(jù)訪問 (java連接數(shù)據(jù)庫的四行代碼)
數(shù)據(jù)庫與磁盤讀寫速度對系統(tǒng)性能影響的研究 (數(shù)據(jù)庫與磁盤讀寫速度)
輕松清空數(shù)據(jù)庫,MSF操作秘籍揭秘! (msf清除數(shù)據(jù)庫內(nèi)容)
Linux Linux教程 Linux資訊 MacOS MacOS教程 MacOS資訊 MongoDB MongoDB教程 MongoDB資訊 MSSQL MSSQL錯誤 MySQL mysql教程 MySQL維護 MySQL資訊 Neo4j Neo4j教程 Neo4j資訊 ORACLE Oracle優(yōu)化 oracle內(nèi)部視圖 oracle參數(shù) oracle開發(fā) oracle異常修復 oracle故障處理 oracle教程 oracle維護 oracle視圖 ORACLE資訊 oracle遠程維護 ORA錯誤碼 Redis Redis教程 Redis資訊 SQLServer SQLServer報錯 SQLServer教程 SQLServer資訊 SQL修復 SQL異常 SQL遠程處理 Windows 技術文檔 操作系統(tǒng) 數(shù)據(jù)庫
安全登錄
立即注冊 忘記密碼?
public class Blog
7
10
創(chuàng)新互聯(lián)成都網(wǎng)站建設公司提供專業(yè)的建站服務,為您量身定制,歡迎來電(028-86922220)為您打造專屬于企業(yè)本身的網(wǎng)絡品牌形象。
成都創(chuàng)新互聯(lián)品牌官網(wǎng)提供專業(yè)的網(wǎng)站建設、設計、制作等服務,是一家以網(wǎng)站建設為主要業(yè)務的公司,在網(wǎng)站建設、設計和制作領域具有豐富的經(jīng)驗。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流