2017年3月10日

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017年3月10日相关的知识,希望对你有一定的参考价值。

  昨天加载好了 EF 和 mysql.data.Entity 两个包,配置好了config文件,但是没有跑代码操作数据库。

  每次都是报错

  Specified key was too long; max key length is 767 bytes

  而现在用自己的笔记本上的vs2012却没有出现这个报错,特别神奇。Mysql每个字段不超过767字节,这个是Mysql默认的大小,当然可以通过Mysql的配置文件修改。

  技术分享

  我传入的对象 最长不超过20字节,所以非常不可思议。

  搜索了一天有了一个折中的解决方案

  [DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]  

  public class MyContext : DbContext{}

  用上面约束条件 之后如愿以偿 成功创建了表和插入了数据。

  在main里面直接跑  

  Database.SetInitializer(new CreateDatabaseIfNotExists<PortalContext>()); ///当数据库不存在 自动创建

  Database.SetInitializer(new DropCreateDatabaseIfModelChanges<PortalContext>()); ///当模型变化 删除数据库后在创建

  Database.SetInitializer(new DropCreateDatabaseAlways<PortalContext>()); ///总是删除数据库后创建一个新的

  用context继承来的方法 AddRange(datalist),把datalist表单 2w行一同插入表,14s。

  明天周末继续。

 

以上是关于2017年3月10日的主要内容,如果未能解决你的问题,请参考以下文章

2017年3月10日

2017年上半年软考报名时间汇总(持续更新)

2017年10月10日日志

2017年12月10日高级软件测试技术实践作业3

2017年10月31日日志

2017年10月11日日志