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使用过程中的几个问题的更多相关文章

  1. 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表

    创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...

  2. MVC2、MVC3、MVC4、MVC5之间的区别 以及Entity Framework 6 Code First using MVC 5官方介绍教程

    现在MVC的技术日趋成熟,面对着不同版本的MVC大家不免有所迷惑 -- 它们之间有什么不同呢?下面我把我搜集的信息汇总一下,以便大家能更好的认识不同版本MVC的功能,也便于自己查阅. View Eng ...

  3. 【极力分享】[C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例【转载自https://segmentfault.com/a/1190000004152660】

      [C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例 本文我们来学习一下在Entity Framework中使用Cont ...

  4. Entity Framework 6 Code First新特性:支持存储过程

    Entity Framework 6提供支持存储过程的新特性,本文具体演示Entity Framework 6 Code First的存储过程操作. Code First的插入/修改/删除存储过程 默 ...

  5. AppBox升级进行时 - 拥抱Entity Framework的Code First开发模式

    AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 从Subsonic到Entity Framework Subsonic最早发布 ...

  6. [C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例

    本文我们来学习一下在Entity Framework中使用Context删除多对多关系的实体是如何来实现的.我们将以一个具体的控制台小实例来了解和学习整个实现Entity Framework 多对多关 ...

  7. Entity Framework 之 Code First

    使用NuGet助您玩转代码生成数据————Entity Framework 之 Code First [前言] 如果是Code First老鸟或者对Entity Framework不感兴趣,就不用浪费 ...

  8. 在Entity Framework 中用 Code First 创建新的数据库

    在Entity Framework 中用 Code First 创建新的数据库 (原文链接) 本文将逐步介绍怎样用Code First 创建新数据库,使用在代码中定义类和API中提供的特性(Attri ...

  9. Entity Framework Core Code First 项目实践

    Entity Framework Core Code First 实践 任何一种技术的出现都是为了解决一系列特定的问题,只有了解了技术所要解决的关键问题,才能理解它的真正用途,之后,才能在实践中用好它 ...

随机推荐

  1. SQL语句构建器类

    问题 Java程序员面对的最痛苦的事情之一就是在Java代码中嵌入SQL语句.这么来做通常是由于SQL语句需要动态来生成-否则可以将它们放到外部文件或者存储过程中.正如你已经看到的那样,MyBatis ...

  2. 5. Fragment详解

    onCreateView是Fragment生命周期方法中最重要的一个.因为在该 方法中会创建在Fragment中显示的View. public View onCreateView(LayoutInfl ...

  3. bat 批处理脚本

    目录: 1:ping多个不同服务器IP 2:每隔一段时间清一次DNS缓存 3:将一个文件夹中的所有文件,分别保存在一个新文件夹中,以保持每个文件夹一个文件 功能1:ping多个不同服务器IP 环境开通 ...

  4. bjfu1281

    思路挺简单的,但因为需要处理大数,所以就比较耗代码了. /* * Author : ben */ #include <cstdio> #include <cstdlib> #i ...

  5. Page 63-64 Exercises 2.3.7 -------Introduction to Software Testing (Paul Ammann and Jeff Offutt)

    Use the following method printPrimes() for question a-d below //Find and prints n prime integers pri ...

  6. nagios监控远程主机端口

    1 被监控主机上的操作 修改nrpe插件内容: 在其中增加的内容如下: 表示的含义为监控主机的端口631和661,这个主要是监控命令 重启xinetd服务: 2 监控主机上的操作 查看监控命令配置文件 ...

  7. win+r 快速启动应用程序

    如何使用WIN+R快捷键快速启动应用程序呢?其实很简单 首先随便在一个盘上建一个新文件夹,随便取什么名字,最好是英文格式,小编以D盘为例,如图 2. 打开文件夹,单击右键,选择“新建”,单击“快捷方式 ...

  8. Hadoop 问题 & 解决

    1.将旧版本hadoop升级后,如从hadoop-1.1.2升级到hadoop-1.2.1,会发现使用start-all.sh命令,没有办法启动namenode,即jps,发现没有namenode 原 ...

  9. 验证dictionary重复键

    if (dict.ContainsKey("sadsa")) { }

  10. MySQL 5.5 服务器变量详解一(转)

    add by zhj:在MySQL5.6中对一些参数有增删改,详见http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html ...