相关疑难解决方法(0)

将System.ComponentModel.DataAnnotations与Entity Framework 4.0一起使用

我正在使用MVC3,并使用Entity Framework 4.0实体作为我的模型.到目前为止,就使用它作为模型而言,一切都很有效(所有的crud操作/页面生成开箱即用).我想知道,你如何获得与手动生成模型时相同的强大标签和验证信息?

这是我的意思的一个例子.这是一个由MVC3示例项目生成的类:

public class LogOnModel
{
    [Required]
    [Display(Name = "User name")]
    public string UserName { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [Display(Name = "Remember me?")]
    public bool RememberMe { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

通过上面的示例,您可以指定在字段的标签中显示的内容(显示)以及要使用的字段类型(密码).但是,当我尝试使用实体框架并将其推送到下面的视图时,我看到自动生成的标签只是字段名称,而不是我希望用户看到/必须阅读的内容:

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Person</legend>

        <div class="editor-label">
            @Html.LabelFor(model => model.FirstName)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.FirstName)
            @Html.ValidationMessageFor(model => model.FirstName)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.MiddleName)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.MiddleName)
            @Html.ValidationMessageFor(model => model.MiddleName) …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc entity-framework-4 c#-4.0 asp.net-mvc-3

51
推荐指数
1
解决办法
2万
查看次数

如何为我的POCO(模板)类添加验证

所以我用这个教程来生成我将在我的应用程序中使用的poco类.问题是我不应该修改生成的cs文件导致它们被自动生成...我如何添加像[Required]这样的属性类似的东西??请帮忙

asp.net validation asp.net-mvc poco entity-framework-4

13
推荐指数
1
解决办法
7947
查看次数

实体框架5不生成[Key]属性

我在VS2012上使用EF5,当表生成时我遇到了问题.

1)我创建了一个包含2个表的简单数据库模式(edmx):

  • 表1:人
  • 属性:Id(Guid)
  • 属性:名称(字符串)

  • 表2:角色

  • 属性:Id(Guid)
  • 属性:类型(字符串)
  • 属性:PersonId(Guid)(与表Person关联)

2)将唯一键的属性(称为Id)定义为:

  • 并发模式:无
  • 默认值:无
  • 实体密钥:真实
  • Getter:公开
  • 姓名:Id
  • 可空:错误
  • 塞特:公众
  • StoreGeneratedPattern:Identity
  • 类型:Guid(我也试过Int32)

3)实体模型的属性是:

  • 代码生成策略:无
  • 数据库生成工作流:TablePerTypeStrategy(VS)
  • 数据库架构名称:dbo
  • DDL生成模板:SSDLToSQL10.tt(VS)
  • 实体容器访问:公共
  • 实体容器名称:DatabaseSchemaContainer
  • 延迟加载已启用:正确
  • 元数据工件处理:嵌入输出程序集
  • 命名空间:DatabaseSchema
  • 多元化的新目标:错误
  • 保存时转换相关文本模板:True
  • 更新Property Facets:True
  • 在Build上验证:True

4)生成相关的类,但不存在[Key]属性:

using System;
using System.Collections.Generic;

public partial class Person
{
    public Person()
    {
        this.Role = new HashSet<Role>();
    }

    //[Key] <-- Missed!
    public System.Guid Id { get; set; }
    public string Name { get; set; }

    public virtual ICollection<Role> Role { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

5)我创建一个域服务,将上述实体暴露给客户端,如:

[EnableClientAccess] …
Run Code Online (Sandbox Code Playgroud)

entity-framework entity-framework-5 visual-studio-2012

5
推荐指数
2
解决办法
2566
查看次数