我正在尝试制作一个应用程序,其中允许开发人员和最终用户从关系数据库(在运行时选择)中检索数据,而无需编写任何 SQL 代码(最好在与数据库交互时不使用字符串连接)。该应用程序的目的有两个:表达式树构建器的 GUI 和由它生成的树的 XML 序列化。
我想请教一些关于如何让事情顺利进行的指导或提示。我不想让其他人为我写这个 - 这是我的项目,我将成为编写代码的人。
所以我的问题是:
是否有可能仅在运行时仅使用连接字符串来创建对象模型并以集合的形式寻址 DB 的元素 - 例如所有表、视图、函数和存储过程的列表?
是否可以在扩展方法中使用上述列表的元素,以便构建表达式树?
我可以使用 Metadata Workspace 类和 ItemCollections 从只有 CSDL、SSDL 和 MDL 文件(但没有实体类)的数据库中检索这些列表吗?
我是否可以使用 LINQ to XML 来序列化表达式树的结果,或者我将不得不使用其他一些特定于实体框架的序列化技术?(如此处所示的示例:http: //msdn.microsoft.com/en-us/library/bb738528.aspx)
PS:以下是我迄今为止研究的一些笔记: 1. 例如,当 DataContext 仅接收到一个连接字符串时,DataContext.GetTable() 方法(是的,弱类型的,不是泛型的)没有检索任何数据。
我正在调用 EdmGen 工具以生成架构工件,到目前为止,我已经阅读了它们的属性,但我仍在尝试获取某种可以在 lambda 表达式中使用的元素列表(例如表格) ?
如果我理解正确,在实体框架中,我可以使用诸如 Metadata Workspace 和 ItemCollections 之类的类以及 EdmGen 工具来创建必要的对象集,用这些对象集将概念模式表示为应用程序中的对象模型。
我已经在这里和 MSDN 上浏览了其他相关主题的实体框架编程指南,但到目前为止,我还没有找到与此方案相关的任何信息。昨天拿到了《Programming Entity Framework》这本书,希望里面有一些答案。如果我找到任何线索,我会更新这个问题。
所以,困惑和仍在寻找,我提前感谢你对此事的任何帮助。
最好的问候, 鲍里斯拉夫