0

我目前正在使用实体框架(.net 4)使用 LINQ 语句从第 3 方数据库中读取数据。不幸的是,在编译时我不知道我将从哪个表中读取 - 事实上,在我的应用程序编译后可以将新表添加到该数据库中。要读取的表名将作为字符串参数传递给我的方法。

如果在编译时不知道表名,应该如何处理这种情况?我什至无法将这些表添加到我的数据模型中,因为它们可能还不存在。虽然我喜欢 linq 的便利性,但我追求的是一种简单的方法。

谢谢!

4

1 回答 1

1

对于只能在运行时构建并且将返回不同形状类型的查询,您几乎被迫制作和执行您想要自己运行的 SQL。 DataContext.ExecuteQuery(string query, params object[] parameters)将成为你的朋友。

您可能已经这样做了,但我建议将这部分代码隔离到执行查询的代码的一部分,然后将结果放入强类型对象中,然后再将其公开给应用程序的其他区域。确保你也清理了表名。

于 2012-07-13T15:02:30.330 回答