运行环境~VS2017+Win10
1.引用sqlite相关~
2.添加引用后,Web.config文件已经变化,修改部分地方及连接字符串~
<provIDer invariantname="System.Data.sqlite" type="System.Data.sqlite.EF6.sqliteProvIDerServices,System.Data.sqlite.EF6" />
<connectionStrings>
<add name="MusicStoreEntitIEs" connectionString="Data Source=|DataDirectory|MvcMusicStore.db" provIDername="System.Data.sqlite.EF6" />
</connectionStrings>
3.编写相关实体类和连接上下文类
//实体类例
//同时指定 table 特性,不指定只能使用 sqlquery 进行查询
[table("Artist")]
public class Artist { public int ArtistID { get; set; } public string name { get; set; }}
//上下文类例using System.Data.Entity;using System.Data.Entity.Infrastructure;using System.Data.Entity.ModelConfiguration.Conventions;using System.linq;using System.Web;namespace MusicStore.Models { public class MusicStoreEntitIEs:DbContext { public MusicStoreEntitIEs() : base("name=MusicStoreEntitIEs") { } //重写该方法用于指定单数形式的表名,不重写这里的话,在实体类上指定 table 特性 protected overrIDe voID OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Conventions.Remove<PluralizingtablenameConvention>(); } public DbSet<Album> Albums { get; set; } //public virtual DbSet<Genre> Genres { get; set; } public DbSet<Genre> Genres { get; set; } }}
对sqlite数据库的使用进行测试~
MusicStoreEntitIEs db = new MusicStoreEntitIEs();//var sql = "SELECT * FROM genre";//var genres = db.Database.sqlquery<Genre>(sql).ToList();var genres = db.Genres.ToList();return VIEw(genres);
两种查询方式均能正常返回数据。
总结以上是内存溢出为你收集整理的EF6+Sqlite注意事项全部内容,希望文章能够帮你解决EF6+Sqlite注意事项所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)