MVC数据库EDMX /关系和视图显示id字段首要问题 [英] mvc database first issues with edmx/relationships and view showing id field

查看:451
本文介绍了MVC数据库EDMX /关系和视图显示id字段首要问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的任务很简单,我需要建立一个库的MVC Web应用程序,允许CRUD操作,唯一的限制是1本书可以有多个作者,也可以有多个发布。

my task is very simple, i need to create a library mvc web app that allows crud operations, the only constraints are that 1 book can have multiple authors and can also have multiple publishers.

要做到这一点,这是我的数据库模型:

to accomplish this, this is my database model:

和对于书籍 - > books_authors-> authors表的关系,出版商关系以同样的方式定义

and the respective sql code for the books->books_authors->authors table relationships, the publishers relationship is defined in the same way

CREATE TABLE [dbo].[BOOKS](
[ID] [int] NOT NULL,
[TITLE] [nvarchar](max) NOT NULL,
[PAGES] [int] NOT NULL,
[SYNOPSIS] [nvarchar](max) NOT NULL,
[PUBLISHDATE] [date] NOT NULL,
[ISBN] [nvarchar](max) NOT NULL,
[SUBJECT] [nvarchar](max) NOT NULL,
CONSTRAINT [PK_BOOKS] PRIMARY KEY CLUSTERED 
(
    [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO


CREATE TABLE [dbo].[BOOKS_AUTHORS](
[BOOKID] [int] NOT NULL,
[AUTHORID] [int] NOT NULL,


CONSTRAINT [PK_BOOKS_AUTHORS] PRIMARY KEY CLUSTERED 
(
    [BOOKID] ASC,
    [AUTHORID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[BOOKS_AUTHORS]  WITH CHECK ADD  CONSTRAINT [FK_BOOKS_AUTHORS_AUTHORS] FOREIGN KEY([AUTHORID])
REFERENCES [dbo].[AUTHORS] ([ID])
GO
ALTER TABLE [dbo].[BOOKS_AUTHORS] CHECK CONSTRAINT [FK_BOOKS_AUTHORS_AUTHORS]
GO
ALTER TABLE [dbo].[BOOKS_AUTHORS]  WITH CHECK ADD  CONSTRAINT [FK_BOOKS_AUTHORS_BOOKS1] FOREIGN KEY([BOOKID])
REFERENCES [dbo].[BOOKS] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[BOOKS_AUTHORS] CHECK CONSTRAINT [FK_BOOKS_AUTHORS_BOOKS1]
GO




CREATE TABLE [dbo].[AUTHORS](
    [ID] [int] NOT NULL,
    [FIRSTNAME] [nvarchar](max) NOT NULL,
    [LASTNAME] [nvarchar](max) NOT NULL,
 CONSTRAINT [PK_AUTHORS] PRIMARY KEY CLUSTERED 
(
    [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

现在到我的问题,当我一个ado.net模型添加到MVC的Web应用程序,该EDMX看起来是这样的:

我想我定义的1对多书籍和BOOKS_AUTHORS / BOOKS_PUBLISHERS之间的关系,为什么现在显示出来的EDMX?

我的另一个问题是,鉴于上述EDMX模型,当我创建视图的脚手架控制器,创建行动从书本列出的ID字段作为输入,而不是隐藏它,而对指数作用相同的ID字段是隐藏的,像这样的:
< A HREF =http://i.stack.imgur.com/X9twL.png相对=nofollow>

推荐答案

实体框架EDMX,不显示引用关系表。
,这就是为什么它显示许多人的书,作者之间的关系许多

Entity Framework edmx, do not show the Reference Relationship Table. that is why Its showing Many to Many relationship between book and authors

据的 MSDN 的是纯连接表

第2期是因为你还没有定义的主键标识(自动生成)

2nd Issue is because, you have not defined your primary key as Identity (Auto Generated)

这篇关于MVC数据库EDMX /关系和视图显示id字段首要问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆