LINQ to SQL:使用字符串文件名在运行时创建 DataContext
通过 FileInfo,我可以找到 DataContext .dbml 文件的文件名。
假设我声明:
Dim DataModel = New AttributeMappingSource().GetModel(GetType(NorthwindDataContext))
使用 System.Data.LINQ.Mapping 我可以找到所有表的名称以及它们的列和关系。
所有这一切都归功于 Jomo Fisher 的精彩帖子:LINQ to SQL Trick: Get all Table [and Column] Names: http://blogs.msdn.com/jomo_fisher/archive/2007/07/30/linq-to- sql-trick-get-all-table-names.aspx
但是,如果不明确知道 DataContext 对象,如何才能获得相同的结果呢? 我的意思是我怎样才能“替换”这个
GetType(NorthwindDataContext))
:
dim myDCFile as String = "Northwind.dbml"
Dim DataModel = .../... GetType(myDCFile))
With FileInfo I can find the file name of a DataContext .dbml file.
Provided I declare:
Dim DataModel = New AttributeMappingSource().GetModel(GetType(NorthwindDataContext))
With System.Data.LINQ.Mapping I can find the name of all Tables and furthermore their Columns and relationships.
All this thanks to the excellent post from Jomo Fisher here: LINQ to SQL Trick: Get all Table [and Column] Names: http://blogs.msdn.com/jomo_fisher/archive/2007/07/30/linq-to-sql-trick-get-all-table-names.aspx
But how can I achieve same result without explicitly knowing the DataContext Object?
I mean how can i "replace" this:
GetType(NorthwindDataContext))
With:
dim myDCFile as String = "Northwind.dbml"
Dim DataModel = .../... GetType(myDCFile))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以尝试这样的操作:
您基本上会加载数据程序集并搜索作为
DataContext
子类型的第一个数据类型。然后你可以将其传递到你的方法中:
Marc
You could try something like this:
You would basically load your data assembly and search for the first data type that is a subtype of
DataContext
.You could then pass that into your method:
Marc