MVC, EF, Code First 相关问题总结
1. 控制表名单复数:
在DbContext类中修改OnModelCreating()为:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
2. Entity Framework 内部错误调试:
try
{
XXDbContext db = new XXDbContext();
db.EntitySet.Add(user);
db.SaveChanges();
}
catch (Exception ee)
{
throw ee.InnerException;
}
3. 建立空MVC项目时,需要引用EntityFramework.dll,然后才能正常使用DbContext。
4. Html.BeginForm两种用法:
a. @using(Html.BeginForm()){......}
b. @{Html.BeginForm();} ...... @{Html.EndForm();}
5. EF Power Tool 生成的Model及Mapping,如果要更新就只能重建,直接更新没有效果。
6. 注意:您可能会看到因 Visual Studio 尝试验证该模板所导致的以下错误。由于我们不会在项目中运行这些模板,可以忽略该错误。
正在编译转换: 找不到类型或命名空间名称“EfTextTemplateHost”(是否缺少 using 指令或程序集引用?)
转自:http://msdn.microsoft.com/zh-cn/data/jj593170.aspx
7. Html.TextBoxFor 给Input添加Html属性:
单个属性:<%= Html.TextBoxFor(model => model.ReturnDate, new { size = 20 })%>
多 个属性:<%= Html.TextBoxFor(model => model.CityFromRoute2, new Dictionary<string, object>() { {"size", 20 }, {"readnoly", "readnoly" } })%>
8. Post方式提交表单时,表单中包含文件的时候Request.Files取不到文件是因为<from>b标签没有添加属性 enctype = "multipart/form-data" 。
MVC form: @using (Html.BeginForm("Upload", "Home", FormMethod.Post, new { enctype = "multipart/form-data", name = "Form1", id = "Form1" }))
9. @section用法:配合母版页中的@RenderSection使用。如页面中@section styles{...}中的内容将展示在母版页中的@RenderSection("styles", false)位置上。参数 false意思是不验证页面中是否存在@section style,该参数如果为true的话,当页面中不存在@section styles的时候会报错。
10. 找不到方法:“System.Data.Objects.ObjectContext System.Data.Entity.Infrastructure.IObjectContextAdapter.get_ObjectContext()”
EntityFramework 5.0升级至6.0出现的问题。由于是自动升级,所以不容易被发现。引发该问题的原因是在EntityFramework6.0中删除了一些类并改变了一些命名空 间。解决办法:删除报错项目中的EntityFramework引用,并重新添加引用。
参见:http://stackoverflow.com/questions/14106286/ef-6-system-data-objects-objectcontext-error
11. ViewBag对象在HTML页面里无法正确显示符号,@Html.Raw(ViewBag.XXX)。
MVC, EF, Code First 相关问题总结的更多相关文章
- IoC容器Autofac - Autofac + Asp.net MVC + EF Code First(转载)
转载地址:http://www.cnblogs.com/JustRun1983/archive/2013/03/28/2981645.html 有修改 Autofac通过Controller默认构造 ...
- 解决MVC EF Code First错误:Model compatibility cannot be checked because the EdmMetadata type was not included in the model.
Model compatibility cannot be checked because the EdmMetadata type was not included in the model. En ...
- MVC+EF CODE FIRST的使用
1创建标准MVC项目 2通过NuGet安装EF 3在Models文件夹中编写实体类 4创建EFDB上下文类 5在webconfig中创建连接字符串,其中name=EFDB上下文类名 6通过管理控制台执 ...
- MVC EF Code First
1 在Models里面创建类,用[Key]特性指定主键: 2 在Model里面增加导航属性: 3 在web.config里面增加连接字符串 4 创建继承于DbContext的类 5 创建Control ...
- MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- Contoso 大学 - 使用 EF Code First 创建 MVC 应用
原文 Contoso 大学 - 使用 EF Code First 创建 MVC 应用 Contoso 大学 Web 示例应用演示了如何使用 EF 技术创建 ASP.NET MVC 应用.示例中的 Co ...
- MVC5中Model层开发数据注解 EF Code First Migrations数据库迁移 C# 常用对象的的修饰符 C# 静态构造函数 MSSQL2005数据库自动备份问题(到同一个局域网上的另一台电脑上) MVC 的HTTP请求
MVC5中Model层开发数据注解 ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证( ...
- EF和MVC系列文章导航:EF Code First、DbContext、MVC
对于之前一直使用webForm服务器控件.手写ado.net操作数据库的同学,突然来了EF和MVC,好多新概念泉涌而出,的确犹如当头一棒不知所措.本系列文章可以帮助新手入门并熟练使用EF和MVC,有了 ...
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序读取相关数据
这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第七篇:为ASP.NET MVC应用程序 ...
随机推荐
- TEXT 6 Travelling with baggage
TEXT 6 Travelling with baggage 背着行囊去旅行 Feb 16th 2006 From The Economist print edition (1)FEW modern ...
- asp.net core in centos
CentOS 7部署ASP.NET Core应用程序 看了几篇大牛写的关于Linux部署ASP.NET Core程序的文章,今天来实战演练一下.2017年最后一个工作日,提前预祝大家伙元旦快乐.不 ...
- delphi实现映射和断开网络驱动器
type TNetDiskMapper=class private FNetResource: TNetResource; FUserName,FPassWord:PWideChar; public ...
- Hibernate的一个问题object references an unsaved transient instance - save the transi5
1 我做了一对多和多对一的双向关联关系,在User这一方@ManyToOne已经设置了级联Cascade,这样在测试程序中保存User时,Group也应该自动保存,为什么会抛出以下的异常: (我是按着 ...
- (转)游戏引擎中三大及时光照渲染方法介绍(以unity3d为例)
重要:在目前市面上常见的游戏引擎中,主要采用以下三种灯光实现方式: 顶点照明渲染路径细节 Vertex Lit Rendering Path Details 正向渲染路径细节 Forward Rend ...
- MySQL8 重置改root密码及开放远程访问
1. 修改配置文件 先修改配置文件:vim /etc/my.conf 在 [mysqld] 下加上下面这行 skip-grant-tables 重启 mysql 服务: service mysqld ...
- 通过Chrome的inspect对手机webview进行调试
使用chrome的inspect可以对手机上的webview进行调试,因为真机没有什么比较好的调试工具,而chrome提供了这一个工具可以比较方便的查看真机上的元素,以及进行调试. 其实我对webvi ...
- switch_to_frame,切换frame框架
页面包含frame/iframe标签,需要先切换到该frame标签,再去定位属于这个frame的元素. 如果要再去定位其他frame的元素,需要回到该frame的上级,定位到要选择的frame,不 ...
- ubuntu安装谷歌拼音输入法
在这篇教程中,我将告诉你如何在ubuntu系统上安装谷歌拼音输入法.谷歌拼音输入法有基于ibus框架的,也有基于fcitx框架的.我只演示fcitx框架下谷歌拼音输入法的安装,因为ibus框架的谷歌拼 ...
- 使用一般处理程序(IHttpHandler)制作图片水印
做网站的时候经常需要将图片加上网站名称的水印.这样做可以使别人转载图片的时候出现图片出处 ,利于网站宣传.但是如果利用ps来一个一个加水印工作量非常浩大,而且修改了之后就没法还原.这 篇教程教大家利用 ...