亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

在EF中使用MySQL的方法及常見問題

2024-07-24 13:09:55
字體:
來源:轉載
供稿:網友

有時需要在網上租用空間或數據庫,Mysql成本低一些,所以想將sql server轉成mysql……

注意:在安裝Mysql時要選擇文字集為utf8,否則將不能使用中文(當前也可以在創建數據庫時使用utf8,不過我不知道在ef生成數據庫時如何設置,希望高手指點)

一、在項目中引用mysql的EF包

通過NuGet包管理器安裝:EntityFramework6.1.3、MySql.Data.Entity6.9.8

也可以用nuget的命令行加入:

Install-Package MySql.Data.Entity

二、新建相關類

1、新建 User 實體類

并定義實例的字段長度,不定義的話會出現Specified key was too long;max key length is 767 bytes 的錯誤,這是因為string 類型直接映射到mysql 中的話是longtext,而mysql 支持最大長度為767 bytes.

public class User{public int Id { get; set; }[StringLength(30)]public string UserName { get; set; }[MaxLength(30)]public string PassWord { get; set; } } 

2、新建 MyContext 類

并說明用MySql進行實現 [DbConfigurationType(typeof(MySqlEFConfiguration))]

[DbConfigurationType(typeof(MySqlEFConfiguration))]public class MyContext : DbContext{public MyContext(): base("name=MyContext")//web.config中connectionstring的名字{}public DbSet<User> Users { get; set; }}

3、寫測試代碼

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyContext>());var context = new MyContext();//插入一行值context.Users.Add(new User { UserName = "EF6MySQL" });context.SaveChanges(); 

三、配置Web.config

在<connectionStrings>中加入以下代碼:

<add name="MyContext" connectionString="Data Source=localhost;port=3306;Initial Catalog=MySQL_EF;user id=root;password=root;" providerName="MySql.Data.MySqlClient" />

完整的web.config如下:

<?xml version="1.0" encoding="utf-8"?><configuration><configSections><!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --><section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /></configSections><entityFramework><defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory , EntityFramework" /><providers><provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /><provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider></providers></entityFramework><system.data><DbProviderFactories><remove invariant="MySql.Data.MySqlClient" /><add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /></DbProviderFactories></system.data><connectionStrings><add name="MyContext" connectionString="Data Source=localhost;port=3306;Initial Catalog=MySQL_EF;user id=root;password=root;" providerName="MySql.Data.MySqlClient" /></connectionStrings></configuration> 

最后,運行程序,完成數據庫自動創建

常見問題

•出現錯誤提示: Specified key was too long;max key length is 767 bytes

1)查看實體的字符串類型屬性是否設置了長度

2)MyContext 類中是否聲明為生成為mysql 數據類型的 [DbConfigurationType(typeof(MySqlEFConfiguration))]

•出現錯誤提示: Model compatibility cannot be checked because the database does not contain model metadata

刪除已生成的數據庫后重新運行程序

•出現錯誤提示:序列不包含任何匹配元素

檢查一下:

例如:1.

public class Employee{[Key]public int EmployeeId { get; set; }public string Name { get; set; }[ForeignKey("ManagerId")]public Employee Manager { get; set; }public int ManagerId { get; set; }}[ForeignKey("ManagerId")] public Employee Manager { get; set; } public int ManagerId { get; set; }這個外鍵設置。 

2.[Column(TypeName="VARCHAR(254)")] public string ColumnName { get; set; } 這樣的定義,改成: [MaxLength(254)] [Column(TypeName="VARCHAR")] public string ColumnName { get; set; }3.(以下代碼未測試,因為我不是這樣用的,在下篇文章中將進行測試)

modelBuilder.Entity<Category>().HasKey(c => c.IdCategory ).HasOptional(p => p.Children).WithMany().HasForeignKey(c => c.ChildrenId);

改成:

modelBuilder.Entity<Category>().HasKey(c => c.IdCategory ).HasMany(p => p.Children).WithOptional().HasForeignKey(c => c.ChildrenId);

.WithMany()換成.WithOptional()

以上所述是小編給大家介紹的在EF中使用MySQL的方法及常見問題的全部敘述,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97国产一区二区精品久久呦| 成人黄色片在线| 神马国产精品影院av| 亚洲国产中文字幕在线观看| 欧美日韩成人免费| 亚洲天堂av女优| 国内精品久久久久| 91av视频在线| 91视频国产高清| 午夜精品一区二区三区视频免费看| 国内精品视频在线| 亚洲视频免费一区| 午夜精品国产精品大乳美女| 日韩成人在线视频| 91精品免费看| 欧美激情精品久久久久久变态| 欧美激情精品久久久久久黑人| 国产精品三级网站| 日本在线精品视频| 日韩专区在线播放| 日韩欧美视频一区二区三区| 一区二区在线视频播放| 欧美激情在线狂野欧美精品| 欧美激情精品久久久久| 国产精品网站入口| 欧美大片va欧美在线播放| 91亚洲精品在线观看| 国产一区二区三区在线| 欧美精品999| 人体精品一二三区| 日韩免费看的电影电视剧大全| 亚洲精品在线看| 国产乱肥老妇国产一区二| 中文字幕国产精品| 成人在线免费观看视视频| 亚洲奶大毛多的老太婆| 久久综合色88| 国产综合色香蕉精品| 国产综合久久久久| 国产精品久久久久久久app| 亚洲欧美精品一区二区| 久久综合久久美利坚合众国| 亚洲3p在线观看| 久久久久久久久久久91| 热久久视久久精品18亚洲精品| 欧美亚洲国产日本| 久久久欧美一区二区| 国产日韩精品在线观看| 欧美肥老妇视频| 国语自产在线不卡| 中文字幕亚洲欧美一区二区三区| 97av在线播放| 亚洲国产精品视频在线观看| 国产精品91在线观看| 久久天天躁日日躁| 亚洲第一男人av| 国产一区二区精品丝袜| 欧美乱大交xxxxx| 91精品国产自产在线老师啪| 亚洲精品久久久久久久久久久久| 成人免费在线网址| 午夜精品蜜臀一区二区三区免费| 精品无码久久久久久国产| 亚洲色无码播放| 久久夜色撩人精品| 亚洲大胆人体视频| 亚洲精品久久久久久久久久久久久| 国产欧美一区二区三区视频| 亚洲影院色无极综合| 欧美激情精品久久久久久久变态| 亚洲高清在线观看| 性色av一区二区三区红粉影视| 亚洲精品99久久久久中文字幕| 一区二区三区回区在观看免费视频| 国产精品久久久久久久久久久久久久| 亚洲福利在线播放| 亚洲最大的网站| 亚洲一区亚洲二区亚洲三区| 亚洲欧美日韩天堂一区二区| 尤物yw午夜国产精品视频明星| 久久久精品国产亚洲| 国色天香2019中文字幕在线观看| 亚洲午夜未满十八勿入免费观看全集| 亚洲精品第一国产综合精品| 亚洲女人天堂av| 一区二区三区黄色| 欧美日韩精品中文字幕| 国产精品综合久久久| 国产精品高潮呻吟久久av野狼| 亚洲免费视频观看| 亚洲美女性生活视频| 国产亚洲xxx| 久久精品小视频| 国产视频精品一区二区三区| 亚洲免费小视频| 国产精品美女久久久久av超清| 欧美激情高清视频| 亚洲精品在线视频| 欧美性色19p| 亚洲伊人成综合成人网| 国产精品丝袜久久久久久不卡| 亚洲色图美腿丝袜| 久久精品国产亚洲7777| 欧美老女人bb| 亚洲伊人成综合成人网| 亚洲性xxxx| 亚洲精品福利视频| 麻豆成人在线看| 欧美肥老太性生活视频| 欧美激情精品久久久久久久变态| www.日韩欧美| 日韩av电影中文字幕| 一区二区三区四区精品| 曰本色欧美视频在线| 一个人看的www欧美| 日韩久久精品成人| 一区二区三区回区在观看免费视频| 亚洲综合第一页| 日韩欧亚中文在线| 亚洲电影免费观看高清完整版在线观看| 26uuu另类亚洲欧美日本老年| 色综合久久88色综合天天看泰| 国产拍精品一二三| 欧美裸体xxxx极品少妇软件| 国产一区二区三区视频| 国产精品一区二区三区在线播放| 亚洲欧美在线磁力| 自拍偷拍亚洲精品| 国产精品久久精品| 日本91av在线播放| 欧美日韩国产二区| 亚洲最大激情中文字幕| 日韩在线中文字| 欧美日韩一区二区免费视频| 欧美精品一二区| 亚洲午夜激情免费视频| 高清视频欧美一级| 国产精品视频免费观看www| 国产亚洲激情视频在线| 欧美成人久久久| 97视频免费在线观看| 伊人久久大香线蕉av一区二区| 精品日韩中文字幕| 日韩a**中文字幕| 亚洲国产精品热久久| 日韩精品免费在线视频| 成人欧美一区二区三区黑人| 久久久久久久久久久人体| 久久亚洲精品成人| 久久久久久中文字幕| 在线免费观看羞羞视频一区二区| 亚洲黄色免费三级| 欧美成人精品一区| 色婷婷久久一区二区| 久久97精品久久久久久久不卡| 欧美日本亚洲视频| 午夜精品一区二区三区视频免费看| 国产亚洲精品久久| 日韩电影中文字幕| 欧美巨乳在线观看| 欧美日韩中国免费专区在线看| 91手机视频在线观看| 一区二区欧美日韩视频| 热久久99这里有精品|