MVC中Model类复合主键的定义

1:新建Model类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace MVCMusicStore.Models
{
    public class OrderDetail
    {
        [Key,Column(Order=1)]
        public virtual int OrderId { get; set; }
        [Key, Column(Order = 2)]
        public virtual int LineNo { get; set; }
        public virtual string ItemNo { get; set; }
        public virtual string Description { get; set; }
        public virtual decimal Price { get; set; }
        public virtual decimal Quantity { get; set; }
        public virtual decimal Amount { get; set; }
        public virtual decimal LineDiscount { get; set; }
        public virtual decimal LineAmount { get; set; }
        public virtual Order Order { get; set; }
    }
}

 

2:创建Controller

3:创建好Controller后,可以看到生成的SQL表主键是由两个字段组成OrderId和LineNo

结论:

1:默认的主键是类的第一个字段;

2:如果需要修改默认的主键字段,需要添加命名空间;

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

3:在类的需要定义为主键的属性上添加Attribute Key和Column修饰

[Key,Column(Order=1)]

 

posted @ 2018-08-15 17:32  岚山夜话  阅读(466)  评论(0编辑  收藏  举报