2011-04-04 129 views
1

我有紧急的和无法解释的问题,所以任何帮助,将不胜感激。我拥有两个完全相同的数据库,但每个数据库中都有不同的数据。无效的列名

我一直在使用LINQ到EF Web应用程序,直到我在连接字符串一切都改变了数据库工作正常。即使数据库完全一样,我收到错误:“无效的列名'tema_id'。”问题是,“tema_id”不以任何这两个数据库的存在,然而,不知何故它在.edmx文件存在。映射的名称应该是“aktivnost_id”,而不是“tema_id”现在的样子。

我试着更新从数据库模型,但在这种情况下,一切变得错了,我得到了几十种不同的错误在错误列表。

我提供的映射细节截图为有问题的表(你可以看到“tema_id”,这应该是“aktivnost_id”)。

我知道我的解释可能是有点混乱,但如果需要任何额外的信息,我将提供它。

Current mappings

+0

数据库是完全一样的,除了他们有不同的数据...大声笑 – 2011-04-04 13:51:30

+0

我的意思是数据库设计...即使它的数据是相同的,除了在一个表是空的。 – 2011-04-04 13:53:42

回答

2

这我很难给出一个完整的答案,而不当您尝试更新发生的错误的完整细节;然而,我会非常想把EDMX编辑为XML,用“find”找到tema_id,然后直接修复。

如果不出意外,这是快试试:)

+0

感谢您的回复,这不是问题所在,但很高兴知道.edmx实际上是XML文件,并且可以在Visual Studio之外进行编辑! ;)更新模型后,通过错误修复错误解决了问题。 – 2011-04-04 19:38:36

2

你有没有尝试过编辑的.edmx文件直接到符合实际的表结构?

+0

谢谢你的回复。我试过编辑.edmx文件,但不幸的是这不是解决方案。更新模型后,我通过错误修复错误来解决问题。 – 2011-04-04 19:41:14

2

尝试通过edmgen.exe

手动视觉工作室之外产生完整的数据访问层使用下面的命令EF4(调整参数以反映分贝名,用户名,密码)

@"%windir%\Microsoft.NET\Framework\v4.0.30319\edmgen.exe" /mode:fullgeneration /c:"Data Source=tcp:127.0.0.1;Initial Catalog=your_database;User ID=sa;Password=your_password;Integrated Security=False;" /project:DataContext /entitycontainer:DataContext /namespace:Project /language:CSharp /pluralize

+0

谢谢你提供的答案,但它并没有解决我的问题。在更新模型后,我必须修正错误。干杯! – 2011-04-04 19:42:40

+0

然后修复这些错误,你很好去。 – 2011-04-04 23:34:49