2013-02-19 113 views
0

我正在为使用ASP.NET MVC3和实体框架的老板开发报表工具。我使用POCO模型和DBContext从数据库中检索数据并创建数据层。当我创建了一些示例数据时,它很简单:2个表的列数很少,它的工作非常有魅力。现在我正试图在我们的测试环境中测试我的应用程序,这就是问题出现的地方。ASP.NET MVC3实体框架 - 数据检索

我正在使用的数据库有137个表,但我只需要来自两个表的数据。我已经模拟了我需要数据的两个表格,并相应地设置了我的应用程序,但没有骰子。所以我的问题是我必须为每个表创建一个类,即使我的应用程序仅使用数据库中的两个表?此外,我在此环境中拥有只读权限。哪个应该没问题,因为我的应用程序只是简单地选择数据,而不是操纵它。

更新

我收到的错误是这样的:

EntityCommandExecutionException是由用户代码未处理。 执行命令定义时发生错误。

详细信息:System.Data.SqlClient.SqlException:无效的列名

列名的是我有我与加入其他表的PK。

+0

'but no dice' - can you expand? – glosrob 2013-02-19 16:32:46

+0

您是否收到错误消息?空白数据?究竟发生了什么导致它不起作用? – CorrugatedAir 2013-02-19 16:32:56

+0

什么阻止你的应用程序在测试环境中工作?您是否收到任何错误,请提及它们。 – Yasser 2013-02-19 16:53:59

回答

1

是的。您需要为数据库中的每个表创建一个类或生成类。使用实体框架时,数据库必须与您的DbContext类匹配。你会想创建你的类,因为你已经创建了你的数据库。

http://msdn.microsoft.com/en-us/data/jj206878.aspx

+0

不,你不知道。我现在正在开发一个项目,在EF中不存在数据库中的表并且工作正常。 (注意,这是首先使用数据库 - 我不知道代码优先) – CorrugatedAir 2013-02-19 16:31:57

+0

@CorrugatedAir与代码优先您的数据库必须符合您的DataContext – bluetoft 2013-02-19 16:34:44

+0

啊,好的。 OP没有说明他是否使用Code First,只是他拥有POCO对象。如果他使用Code First,首先切换到数据库可能对他有意义。 – CorrugatedAir 2013-02-19 16:39:00