• 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)。

  • 相关阅读:
    C# 杨辉三角 下
    C# 自动走迷宫 下
    算法练习之1数字填充 下
    动态添加控件并获取其值
    两个ListBox的互动
    VS2005常用快捷键
    GridView内嵌DropDownList操作
    GridView格式化短日期
    获得客户端ID
    Access数据库 Update 语句的怪现象
  • 原文地址:https://www.cnblogs.com/jiajinyi/p/3293915.html
Copyright © 2020-2023  润新知