1

我的数据库中有许多具有复合主键的表。当我从我的模型生成控制器时,我总是得到只有一个参数的方法。例如:

public ActionResult Edit(string id = null)
{
    ...
}

但我想要实现的是在我的控制器中获取生成的方法,其中包含主键的所有参数,如下所示:

public ActionResult Edit(string pk1 = null, string pk2 = null, ...)
{
    ...
}

目前我必须更改每个控制器。
是否有可能以某种方式生成这种类型的控制器?

4

2 回答 2

0

脚手架模板 (T4) 位于[Visual Studio Directory]\Common7\IDE\ItemTemplates\CSharp\Web\[MVC Version]\CodeTemplates\AddController. 您可以修改或复制这些模板并将它们导入您的项目并进行适当的修改,或者您也可以创建全新的模板。这是有关如何实现此目的的宝贵教程

于 2013-08-20T13:31:59.923 回答
-1

定义模型时使用 Key 属性

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace demomvc.Models
{
    public class MultipleKeyModel
    {
        [Key]
        public int Key1 { get; set; }
        [Key]
        public int Key2 { get; set; }
        [Key]
        public int Key3 { get; set; }
        public string Foo { get; set; }
    }
}
于 2013-08-20T13:32:37.027 回答