Entity Framework 6 Code First +MVC5+MySql/Oracle使用过程中的几个问题
1、
namespace Snapsia.Web.Models
{
using System;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq; [DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
public partial class SnapsiaContext : DbContext
{
public SnapsiaContext()
: base("name=SnapsiaContext")
{
} public virtual DbSet<InfluencersUser> InfluencersUser { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
}
}
}
2、表“TableDetails”中列“IsPrimaryKey”的值为 DBNull
解决办法:
set global optimizer_switch='derived_merge=OFF';
http://stackoverflow.com/questions/33575109/mysql-entity-the-value-for-column-isprimarykey-in-table-tabledetails-is
http://bugs.mysql.com/bug.php?id=79163
https://dev.mysql.com/doc/refman/5.7/en/switchable-optimizations.html
3、
[Table("TB_USER", Schema = "USER_SNAPSIA")]//dbo架构在oracle数据库为用户名
public partial class TB_USER
{
[Key]
[StringLength()]
public string ID { get; set; } [StringLength()]
public string USERNAME { get; set; } [StringLength()]
public string PWD { get; set; }
}
public partial class OrclContext : DbContext
{
public OrclContext()
: base("name=OrclContext")
{
}
public virtual DbSet<TB_USER> TB_USER { get; set; }
public virtual DbSet<TB_SYYS> TB_SYYS { get; set; }
public virtual DbSet<TB_CCT> TB_CCT { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema("USER_SNAPSIA"); //dbo架构在oracle数据库为用户名 modelBuilder.Entity<TB_USER>()
.Property(e => e.ID)
.IsUnicode(false);
}
}
4、VS2015 update3 +MySQL5.7+EntityFramework Code First
从数据库生成Code First 代码,选择连接后点击下一步,界面闪退,无法生成的解决办法。
需要安装最新版的两个组件:
mysql-connector-net-6.9.9
mysql-for-visualstudio-1.2.6
5、使用同一个上下文对象:
public static SnapsiaContext GetCurrentDbSession()
{
SnaContext context = CallContext.GetData(typeof(DbSessionContextFactory).FullName) as SnaContext;
if (context == null)
{
context = new SnaContext();
CallContext.SetData(typeof(DbSessionContextFactory).FullName, context);
}
return context;
}
6、EntityFramework Code First 优化
6.1、推荐使用IIS8.
6.2、参考文章:亲授MVC5中EF6 Code First启动慢及间隙变慢优化的实践经验
https://weblog.west-wind.com/posts/2013/Oct/02/Use-IIS-Application-Initialization-for-keeping-ASPNET-Apps-alive?utm_source=tuicool#GettingstartedwithApplicationInitialization
http://www.cnblogs.com/hantianwei/archive/2013/04/26/3044157.html
Entity Framework 6 Code First +MVC5+MySql/Oracle使用过程中的几个问题的更多相关文章
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...
- MVC2、MVC3、MVC4、MVC5之间的区别 以及Entity Framework 6 Code First using MVC 5官方介绍教程
现在MVC的技术日趋成熟,面对着不同版本的MVC大家不免有所迷惑 -- 它们之间有什么不同呢?下面我把我搜集的信息汇总一下,以便大家能更好的认识不同版本MVC的功能,也便于自己查阅. View Eng ...
- 【极力分享】[C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例【转载自https://segmentfault.com/a/1190000004152660】
[C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例 本文我们来学习一下在Entity Framework中使用Cont ...
- Entity Framework 6 Code First新特性:支持存储过程
Entity Framework 6提供支持存储过程的新特性,本文具体演示Entity Framework 6 Code First的存储过程操作. Code First的插入/修改/删除存储过程 默 ...
- AppBox升级进行时 - 拥抱Entity Framework的Code First开发模式
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 从Subsonic到Entity Framework Subsonic最早发布 ...
- [C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例
本文我们来学习一下在Entity Framework中使用Context删除多对多关系的实体是如何来实现的.我们将以一个具体的控制台小实例来了解和学习整个实现Entity Framework 多对多关 ...
- Entity Framework 之 Code First
使用NuGet助您玩转代码生成数据————Entity Framework 之 Code First [前言] 如果是Code First老鸟或者对Entity Framework不感兴趣,就不用浪费 ...
- 在Entity Framework 中用 Code First 创建新的数据库
在Entity Framework 中用 Code First 创建新的数据库 (原文链接) 本文将逐步介绍怎样用Code First 创建新数据库,使用在代码中定义类和API中提供的特性(Attri ...
- Entity Framework Core Code First 项目实践
Entity Framework Core Code First 实践 任何一种技术的出现都是为了解决一系列特定的问题,只有了解了技术所要解决的关键问题,才能理解它的真正用途,之后,才能在实践中用好它 ...
随机推荐
- android面试题(转)
1. Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚 ...
- hdu 4508 湫湫系列故事——减肥记I(完全背包)
题意:完全背包 思路:完全背包 可以直接转化为 多重背包,num[i]=_v/c[i];//转为多重背包然后运用 多重背包 3种解法如下码1: #include<iostream> #in ...
- android命名规范
Android 开发规范 (陈杨) (一)注意事项 1. 编码方式统一用UTF-8. Android Studio默认已是UTF-8,只要不去改动它就可以了. 2. 缩进统一为4个空格,将Tab si ...
- python的元组和列表使用之一
Python的列表和元组 1. 概述 列表是用方括号[]包围的数据集合,不同的成员之间用逗号进行分隔,列表可以通过序号来进行访问其中的成员,可以对列表进行排序.添加.删除操作,改变列表中某 ...
- Ubuntu 上安装R
1. 编辑 /etc/apt/sources.listsudo cp /etc/apt/sources.list /etc/apt/sources.list.backupsudo gedit sour ...
- 对easyui datagrid组件的一个小改进
#对easyui datagrid组件的一个小改进 ##问题 在实际项目中使用datagrid时,受版面限制,有时候表格不能太大,这时候表格里面的内容就不能完全显示,用户需要经常拖动调整列宽才能看完整 ...
- linux中的配置文件
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一个 ...
- Mapreduce执行过程分析(基于Hadoop2.4)——(三)
4.4 Reduce类 4.4.1 Reduce介绍 整完了Map,接下来就是Reduce了.YarnChild.main()—>ReduceTask.run().ReduceTask.run方 ...
- 【Siverlight - 扩展篇】Silverlight在OOB模式下实现默认打开最大化
在App.xaml.cs中输入以下代码:在OOB客户端打开,可以实现窗口默认最大化: private void Application_Startup(object sender, Startup ...
- [POJ] #1002# 487-3279 : 桶排序/字典树(Trie树)/快速排序
一. 题目 487-3279 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 274040 Accepted: 48891 ...