Asp.Net Identity,Entity Framework 与 Sqlite

1.Asp.Net Identity核心引用

Microsoft.AspNet.Identity.Core   核心库,包含Identity的主要功能。

Microsoft.AspNet.Identity.EntityFramework  主要包括ASP.NET Identity 的EF 部分的实现。

Microsoft.AspNet.Identity.OWIN  ASP.NET Identity对OWIN 的支持。

安装方式:创建Asp.Net Web 时选择身份验证或者使用NuGet安装

通过在Package Manger Console输入如下命令来安装Identity:

  • Install-Package Microsoft.AspNet.Identity.EntityFramework
  • Install-Package Microsoft.AspNet.Identity.OWIN
  • Install-Package Microsoft.Owin.Host.SystemWeb

2.Sqlite引用

System.Data.SQLite

System.Data.SQLite.Core

System.Data.SQLite.EF6

System.Data.SQLite.Linq

SQLite.CodeFirst  使EF CodeFirst支持Sqlite

Nuget内安装

3.WebConfig配置,Nuget安装时有些没有进行完整配置,需要保证下列节点包含下列配置

EF DbContext使用的连接字符串

<connectionStrings>

<add name="SQLiteConnection" providerName="System.Data.SQLite.EF6" connectionString="Data Source=|DataDirectory|\Data.db3;Pooling=True;BinaryGuid=False" />

</connectionStrings>

EF内注册Sqlite相关provider

<entityFramework>
<providers>
<provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
<provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
</providers>
</entityFramework>

<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite.EF6" />
<add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
<remove invariant="System.Data.SQLite" />
<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
</DbProviderFactories>
</system.data>

4.ApplicationDbContext配置

主要添加OnModelCreating:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//Sqlite CodeFrist如果不存在数据库,则创建
Database.SetInitializer(new SqliteCreateDatabaseIfNotExists<ApplicationDbContext>(modelBuilder));

//使用基于Microsoft.AspNet.Identity.EntityFramework.IdentityUser的ApplicationUser时,IdentityUserRole与IdentityUserLogin没有主键,在此指定

//解决“EntityType ‘IdentityUserLogin‘ has no key defined”及“EntityType ‘IdentityUserRole‘ has no key defined”错误

modelBuilder.Entity<IdentityUserRole>().HasKey(r => new { r.UserId, r.RoleId });
modelBuilder.Entity<IdentityUserLogin>().HasKey(r => r.UserId);
//base.OnModelCreating(modelBuilder);
}

5.配置结束,可以使用

原文地址:https://www.cnblogs.com/zhiguzhidao/p/12304595.html

时间: 2024-11-03 01:09:15

Asp.Net Identity,Entity Framework 与 Sqlite的相关文章

使用ASP.NET MVC+Entity Framework快速搭建博客系统

学习 ASP.NET MVC 也有一段时间了,打算弄个小程序练练手,做为学习过程中的记录和分享. 首先,得确定需求,木有需求的话,那还搞个毛线呀!嗯--大致思考了一下,终于得出如下需求: 1.能自定义分类 2.能发文章 OK!就这样,先从简单的开始(其实是复杂的不会做),后面有需要再添加(希望水平能达到).功能确定了,那么改确定要做成什么样子的了.先和度娘商量一下先-- 终于在我的淫威之下,度娘交出了一个比较简洁的,源网站在这里(表示感谢),被小弟阉割了之后效果如下图: 接下来就开始编码了么?嗯

Entity Framework使用Sqlite时的一些配置

前段时间试着用Entity Framework for Sqlite环境,发现了一些坑坑洼洼,记录一下. 同时试了一下配置多种数据库,包括Sqlite.Sql Server.Sql Server LocalDB.Sql Server Compact. 我建的demo项目结构以及通过NuGet安装的包:   EFDemo.MultipleDB.UI引用了EFDemo.MutipleDB项目. 1. 遇到的异常1 The Entity Framework provider type 'System.

使用ASP.NET MVC+Entity Framework快速搭建系统

详细资料: http://www.cnblogs.com/dingfangbo/p/5771741.html 学习 ASP.NET MVC 也有一段时间了,打算弄个小程序练练手,做为学习过程中的记录和分享. 首先,得确定需求,木有需求的话,那还搞个毛线呀!嗯……大致思考了一下 OK!就这样,先从简单的开始(其实是复杂的不会做),后面有需要再添加(希望水平能达到).功能确定了,那么改确定要做成什么样子的了.先和度娘商量一下先…… 终于在我的淫威之下,度娘交出了一个比较简洁的,源网站在这里(表示感谢

VS2010使用Entity FrameWork操作Sqlite数据库

这几天在研究如何使用Entity Framework 访问数据库,其中也走了不少弯路,还好最后搭建环境成功,下面就详细说明下环境搭建步骤 1.下载安装SQLite Data Provider 至官网:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki下载版本sqlite-netFx40-setup-bundle-x86-2010-1.0.93.0.exe 注意版本需要是1.0.93.0 2.用NuGet程序包

Asp.Net MVC Entity Framework

Asp.Net MVC 模型(使用Entity Framework创建模型类) - Part.1 这篇教程的目的是解释在创建ASP.NET MVC应用程序时,如何使用Microsoft Entity Framework来创建数据访问类.这篇教程假设你事先对Microsoft Entity Framework没有任何的了解.读完本篇教程,你将会理解如何使用Entity Framework来选择.插入.更新和删除数据库记录. Microsoft Entity Framework是一个对象关系映射(O

ASP.NET MVC+Entity Framework 访问数据库

Entity Framework 4.1支持代码优先(code first)编程模式:即可以先创建模型类,然后通过配置在EF4.1下动态生成数据库. 下面演示两种情形: 1.代码优先模式下,asp.net mvc数据访问 2.传统模式,先创建数据库和表,配置连接字符串,再生成模型 第一种情况的步骤: (1)使用空模板,创建ASP.NET MVC3.0(或4.0)项目,假定项目名:MVC_Student 注意:创建完项目后,项目会自动引用EF4.1 (2)在Model文件夹下,创建数据库上下文类:

ASP.NET MVC+Entity Framework 4.1访问数据库

Entity Framework 4.1支持代码优先(code first)编程模式:即可以先创建模型类,然后通过配置在EF4.1下动态生成数据库. 下面演示两种情形: 1.代码优先模式下,asp.net mvc数据访问 2.传统模式,先创建数据库和表,配置连接字符串,再生成模型 第一种情况的步骤: (1)使用空模板,创建ASP.NET MVC3.0(或4.0)项目,假定项目名:MVC_Student 注意:创建完项目后,项目会自动引用EF4.1 (2)在Model文件夹下,创建数据库上下文类:

asp.net mvc entity framework 数据库 练习(一)

本文启发的思路来源于asp.net mvc 6 的entity framework,微软MSDN中的官方项目contoso university 虚构的数据库 原文链接如下: https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-

ASP.NET MVC4 &amp; Entity Framework 6.0 IIS 部署出错解决方案

近期了解MVC4的时候弄了一个简单的小工程,使用Entity Framework作为Model,F5启动调试运行的时候没有问题,但是发布到IIS之后访问就报错 错误信息如下: The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer' registered in the application config file for the