相关疑难解决方法(0)

在Json.net中序列化一对多关系

我首先使用Entity Framework代码进行数据访问,并且我有一个具有Employees集合的Company类.Employee类还有一个Company属性.

我希望能够序列化公司并在序列化中包含员工列表.

这是公司:

public class Company
{
public long Id { get; set; }
public string Name { get; set; }
public DateTime? Established { get; set; }

public virtual IList<Employee> Employees { get; set; }

public DateTime? DateCreated { get; set; }
public DateTime? DateUpdated { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是员工

public class Employee
{
public long Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int …
Run Code Online (Sandbox Code Playgroud)

serialization entity-framework json.net ef-code-first

19
推荐指数
4
解决办法
1万
查看次数

向POCO添加方法或创建单独的类来更新POCO的值是一种好的做法吗?

将方法添加到POCO或创建单独的类来更新POCO的值是否是一个好的做法,以防我们需要?

例如,

public class ForUser
{
    [Required]
    public int Depratment { get; set; }

    public List<SelectListItem> DepartmentsList { get; set; }

    [Required]
    public int Role { get; set; }

    [Required]
    [StringLength(200, MinimumLength = 3, ErrorMessage = "Length Of The First Name Should  Be More Than Three Letters")]
    public string FirstName { get; set; }

    [StringLength(200, MinimumLength = 3, ErrorMessage = "Length Of The Mid Name Should  Be More Than Three Letters")]
    public string MidName { get; set; }

    [Required]
    [StringLength(200, …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc poco

17
推荐指数
2
解决办法
3932
查看次数

将DataAnnotations与实体框架一起使用

我已经使用VS2010的Entity Framework创建了一个包含属性,firstName,lastName和email的简单person类.如果我想附加DataAnnotations,就像在这篇博客文章中所做的那样,我有一个小问题,因为我的人类是动态生成的.我可以直接编辑动态生成的代码,但每当我必须更新我的模型时,我的所有验证代码都将被删除.

第一直觉是创建一个局部类并尝试附加注释,但它抱怨我正在尝试重新定义属性.我不确定你是否可以在C#中使用C++中的函数声明来进行属性声明.如果可能,那可能就是答案.这是我尝试过的片段:

namespace PersonWeb.Models
{
  public partial class Person
  {
    [RegularExpression(@"(\w|\.)+@(\w|\.)+", ErrorMessage = "Email is invalid")]
    public string Email { get; set; } 
    /* ERROR: The type 'Person' already contains a definition for 'Email' */
  }
}
Run Code Online (Sandbox Code Playgroud)

c# validation entity-framework asp.net-mvc-2

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

实体框架4.1数据库首先不向DbContext T4生成的类添加主键

我刚刚开始使用Entity Framework 4.1,尝试"数据库优先"模式.当EF使用"ADO.Net DbContext Generator"生成Model类时,它不应该使用[Key]属性识别类的主键吗?没有它,它似乎与T4 MVCScaffolding不兼容.

以下是详细信息:

使用实体数据模型设计器GUI,我从现有数据库向模型添加了一个简单的"国家/地区"表.GUI正确地将名为"PK"的单个整数身份密钥字段标识为我的主键.(唉!我是新用户所以我无法添加屏幕截图.我已经在下面添加了CSDL.)但是,当EF使用"ADO.Net DbContext Generator"生成代码时,它无法识别PK field作为生成的类中的关键字段(请参阅下面的代码摘录).

"国家"表的CSDL:

<edmx:ConceptualModels>
  <Schema Namespace="EpiDataModel" Alias="Self" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
    <EntityContainer Name="EpiModelEntities" annotation:LazyLoadingEnabled="true">
      <EntitySet Name="countries" EntityType="EpiDataModel.country" />
    </EntityContainer>
    <EntityType Name="country">
      <Key>
        <PropertyRef Name="PK" />
      </Key>
      <Property Name="PK" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
      <Property Name="Abbreviation" Type="String" Nullable="false" MaxLength="200" Unicode="false" FixedLength="false" />
      <Property Name="Name" Type="String" MaxLength="1024" Unicode="false" FixedLength="false" />
      <Property Name="Description" Type="String" MaxLength="1024" Unicode="false" FixedLength="false" />
      <Property Name="Sequence" Type="Int32" />
    </EntityType>
  </Schema>
</edmx:ConceptualModels>
Run Code Online (Sandbox Code Playgroud)

这是自动生成的代码:

//------------------------------------------------------------------------------
// <auto-generated>
//    This code was generated from a template. …
Run Code Online (Sandbox Code Playgroud)

primary-key entity-framework-4.1 ef-database-first dbcontext asp.net-mvc-scaffolding

7
推荐指数
1
解决办法
6688
查看次数

以编程方式添加数据注释

我正在使用.NET 4的asp mvc3应用程序.

但是我想要使用的模型是在使用.NET 3.5的类库中,并且无法更改.

我可以以编程方式将.NET 4 数据注释添加到我的模型中的某些属性中,以便进行一些简单的验证吗?

c# data-annotations asp.net-mvc-3

5
推荐指数
1
解决办法
8837
查看次数

如何使用editorfor隐藏主键输入字段

您好,我正在使用 Editorfor() 制作一个小表单,将视图模型提交到控制器。Editorfor() 很好地打印模型的输入字段,但它也打印主键字段。所以我想隐藏主键字段。

@Html.EditorFor(m=>m.viewmodel)
Run Code Online (Sandbox Code Playgroud)

这是我的标记。

@Html.HiddenFor(m => m.viewmodel.Id);
@Html.EditorFor(m=>m.viewmodel)
Run Code Online (Sandbox Code Playgroud)

已经尝试过这个但不起作用。我想直接对模型进行处理,但我使用的是 EF Designer,所以我不知道从哪里开始。请给我一个建议。

asp.net-mvc html-helper asp.net-mvc-4

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