Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 4 首先使用MVC4数据库,如何用复合主键注释模型?_Asp.net Mvc 4_Composite Primary Key_Database First - Fatal编程技术网

Asp.net mvc 4 首先使用MVC4数据库,如何用复合主键注释模型?

Asp.net mvc 4 首先使用MVC4数据库,如何用复合主键注释模型?,asp.net-mvc-4,composite-primary-key,database-first,Asp.net Mvc 4,Composite Primary Key,Database First,我是微软MVC4的新手,我得到了一个数据库,我必须为它构建一个CRUD前端。这些表都具有[TableID、TableName、EffectiveDate]形式的复合主键。我不能改变数据库的设计。我使用Database first技术和EF 5.x DbContext generator for C#工具创建模型,但生成的模型文件不包含复合键的注释。下面是Department表的一个示例,主键为[DeptID,DeptName,EffDate] //------------------------

我是微软MVC4的新手,我得到了一个数据库,我必须为它构建一个CRUD前端。这些表都具有[TableID、TableName、EffectiveDate]形式的复合主键。我不能改变数据库的设计。我使用Database first技术和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; }
    }
}

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

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


您可能希望使用
[必需的]
或其他对应用程序数据一致性有意义的注释来装饰您的模型。在这种情况下,您可以使用分部类()或通过实现
ViewModels
(您可以对其进行修改,而不必担心不应该真正修改的自动生成的类)

谢谢您的快速回答。我将使用部分类解决方案进行装饰,因为它对于我的项目来说似乎是最合理的。脚手架系统不能为我解释这些。这是给你的吗?
    [key] 
    public int DeptID { get; set; }
    [key]
    public string DeptName { get; set; }
    [key]
    public System.DateTime EffDate { get; set; }