0

我是 MS 的 MVC4 的新手,我得到了一个数据库,我必须为其构建一个 CRUD 前端。这些表都具有 [TableID, TableName, EffectiveDate] 形式的复合主键。我无法更改数据库设计。我使用数据库优先技术和EF 5.x DbContext generator for C#工具来创建模型,但生成的模型文件不包含复合键的注释。这是 Department 表的示例,主键 = [DeptID, DeptName, EffDate]。

//------------------------------------------------------------------------------
// <auto-generated>
//    This code was generated from a template.
//
//    Manual changes to this file may cause unexpected behavior in your application.
//    Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace BillableUnits4.Models
{
    using System;
    using System.Collections.Generic;

    public partial class Department
    {
        public int DeptID { get; set; }
        public string DeptName { get; set; }
        public System.DateTime EffDate { get; set; }
        public string Status { get; set; }
        public string Fund { get; set; }
        public string DeptNo { get; set; }
        public string RevenueAccount { get; set; }
        public string BalanceSheetAccount { get; set; }
    }
}

我打赌钥匙应该是这样的:

    [key] 
    public int DeptID { get; set; }
    [key]
    public string DeptName { get; set; }
    [key]
    public System.DateTime EffDate { get; set; }

我什至需要注释主要关键组件吗?如果是这样,我应该将注释添加到生成的模型文件中吗?(显然,重新生成文件会删除我手动所做的任何更改)。有没有办法告诉 MVC4 / Visual Studio 生成带有正确注释的文件?

4

1 回答 1

1

您不必为数据库添加明显的注释 :) 您的代码不会使用特定于数据库的注释,所以我不必担心。

[Required]您可能希望使用对您的应用程序数据一致性有意义的注释来装饰您的模型。在这种情况下,您可以使用部分类(http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx)或实施ViewModels(即你可以修改而不用担心你不应该真正修改的自动生成的类)

于 2013-01-14T22:44:13.213 回答