现在知道为什么大家都骂EF3.5了,问问EF3.5的一个怪问题
废话不多说
我有一个数据库PropertyManage,其中有2个表,定义如下:
CREATE TABLE [dbo].[FileStorages](
[Id] [int] IDENTITY(1,1) NOT NULL,
[CaseNumber] [int] NOT NULL,
[LayerNumber] [int] NOT NULL,
[FolderNumber] [int] NOT NULL,
[FolderPieceNumber] [int] NOT NULL,
CONSTRAINT [PK_FileStorages] 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]
------------------------
CREATE TABLE [dbo].[Elements](
[Id] [int] IDENTITY(1,1) NOT NULL,
[ImageFileName] [nvarchar](max) NOT NULL,
[CreateDateTime] [datetime] NOT NULL,
[IsEliminated] [bit] NOT NULL,
[PageNumber] [int] NOT NULL,
[FileStorage_Id] [int] NOT NULL,
CONSTRAINT [PK_Elements] 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]
GO
ALTER TABLE [dbo].[Elements] WITH CHECK ADD CONSTRAINT [FK_ElementFileStorage] FOREIGN KEY([FileStorage_Id])
REFERENCES [dbo].[FileStorages] ([Id])
GO
ALTER TABLE [dbo].[Elements] CHECK CONSTRAINT [FK_ElementFileStorage]
GO
-----------------------
两个表,分别是[Elements]和[FileStorages],从上边的定义可以看出,Elements有一个Foreign Key指向FileStorages,它们之间的关系是1对多,也就是说,一个FileStorages可以拥有多个Elements
很简单的一种表关系,那么在VS2008中,我建立了一个Console Application,然后用Entity Framework把这两个表倒影射进来,Entity Model的名字叫PropertyManageEntities,然后写一段程序,如下:
public static void Lab1()
{
using (var context = new PropertyManageEntities())
{
foreach (var x in context.FileStorages)
{
foreach (var z in x.Elements)
{
Console.WriteLine(z.ID);
}
}
}
}
很简单的一段程序,就是想打印每个FileStorages里面每一个Element的ID,可是这段程序就是不工作,我把断点设在
Console.WriteLine(z.ID)上面,结果系统根本不进去,真是令我瞠目结舌
我用EF4.0在VS2010下面跑了一下,一点问题都没有,就是上面一模一样的程序,这到底是怎么回事?为什么同样的程序在EF3.5下面不运行?
我该怎么设置?
多谢