在专注于数据库多年之后,我将重返编程领域。我曾经是VB6中的一名枪手,但.Net让我举步维艰。
我正在尝试从一个已经存在的数据库中用MVC构建一个web应用程序。我大致如下:
http://msdn.microsoft.com/en-us/data/gg685489.aspx
我使用的是Visual Web Developer Express 2010 10.0.40219.1 SP1Rel
我不知道如何计算出各种模板和插件的版本。
我正在从一个现有的数据库中生成一个实体数据模型。我使用的三个表都定义了主键和外键,但是当我导入它时,数据模型中不会创建任何关联
似乎有很多不同的方法来构建一个启用数据库的web应用程序。如果我对语法更熟悉的话,我现在就可以手工编码了。
Q1:你知道为什么不创建关联吗?
Q2:你能验证我是否需要关联来告诉代码生成器所有东西是如何组合在一起的吗?(即在代码中自动生成适当的方法)。否则我看不出它会如何运作。
Q3:如果我手动创建关联并构建,我会遇到一些错误。似乎创建关联会针对实体('CustomerCustomer_ID)创建一个属性,并且需要将其映射到某个对象。然而,当我按下“表映射”时,它不在要映射的列表中,我无法添加它。
Error 1 Error 3004: Problem in mapping fragments starting at line 198:
No mapping specified for properties Task.CustomerCustomer_ID in Set Tasks.
An Entity with Key (PK) will not round-trip when: Entity is type [zzzz.Task]
Error 2 Error 11009: Property 'CustomerCustomer_ID' is not mapped.
以下是我希望生成关联的两个表的简化DDL
CREATE TABLE [dbo].[Customers](
[Customer_ID] [int] IDENTITY(1,1) NOT NULL,
[Customer_Name] [varchar](50) NOT NULL,
........
....
CONSTRAINT [PK_Customers] PRIMARY KEY CLUSTERED
([Customer_ID] ASC))
CREATE TABLE [dbo].[Tasks](
[Task_ID] [int] IDENTITY(1,1) NOT NULL,
[TaskType_ID] [int] NOT NULL,
[Emp_ID] [int] NOT NULL,
[Customer_ID] [int] NOT NULL,
[Status_ID] [int] NOT NULL,
[Task_Desc] [varchar](300) NULL,
.....
..
CONSTRAINT [PK_Tasks] PRIMARY KEY CLUSTERED
(
[Task_ID] ASC
)
ALTER TABLE [dbo].[Tasks] WITH CHECK ADD CONSTRAINT [FK_Tasks_Customers]
FOREIGN KEY([Customer_ID])
REFERENCES [dbo].[Customers] ([Customer_ID])
GO