【问题标题】:Questions about model first MVC 3 using Entity Framework关于 Model First MVC 3 using Entity Framework 的问题
【发布时间】:2013-03-29 01:06:24
【问题描述】:

我根据 Visula Studio Express 2012 中的这篇文章在玩 Entity:http://msdn.microsoft.com/en-us/data/gg685494.aspx

在一些发现后不得不完全重新这样做:

  1. 根据文章您可以创建数据库,这是正确的,但不会创建类,除非您右键单击图表中的空白部分选择属性并选择“代码生成策略”(我只有默认值)。之后我的项目由于错误而不再构建。尝试在一个新创建的项目中再次执行此操作时,不再创建模型类(不确定我第一次做了什么使其工作)。
  2. 在图表中创建产品后,创建一个数据库,然后在第二个项目中使用该数据库创建模型 products.cs 文件已创建但没有注释(我的产品名称为 200 char max 但它不在产品中.cs 文件)。
  3. 在第二个项目中搭建控制器和视图后(从第一个项目中的模型创建的数据库中制作模型),产品名称被错误地验证为最大 200 个字符。即使设计器显示最多 200 个 products.cs 文件也缺少注释。

如果我在这里做错了,谁能向我解释如何从实体图创建 product.cs 文件,并且仍然留下一个可构建的项目? 从数据库创建的模型类没有注释(例如最多 200 个字符字段)是否正常?

我喜欢 Entity 和它的想法。那里有很多带有视频的文档,但现在我会出去买一顶帽子,因为我会把头发都拉出来,试图习惯它的工作方式:-)

【问题讨论】:

  • 我想你的意思是 VS Express 2012
  • 是的,我更正了。到目前为止,我还无法构建一个更新页面,该页面在使用实体时实际上检查可空或最大长度。打算放弃这个,在视频中看起来不错,但根本不起作用。

标签: asp.net-mvc asp.net-mvc-3 entity-framework visual-studio-express


【解决方案1】:

使用设计器创建带有实体类的数据库很酷,但是从设计器或从数据库创建类(还)不能正常工作。

没有注释,所以不检查 null 或任何东西。我手动创建了类并为产品名称添加了注释:

public int Id { get; set; }
[DisplayName("Product name"), 
  Required(ErrorMessage = "Product Name is required"), 
  StringLength(10)]
public string Name { get; set; }

然后右键单击解决方案资源管理器中的控制器文件夹并选择 => 添加 => 控制器 => 使用实体框架作为模板来创建 crud 视图。

出于某种原因,我必须在这里创建一个数据上下文类来创建另一个连接字符串和 database.mdf 文件,但是......表单验证在 JavaScript 和服务器上完美运行。

【讨论】:

    猜你喜欢
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 2011-11-13
    相关资源
    最近更新 更多