我已经开始将 DAL2 与 dotnetnuke 7 一起使用。我有一些复杂的查询,我在我的实例使用的 SQL 服务器数据库中创建了视图。从这些视图中访问简单选择的最佳做法是什么。
如果我使用以下内容,那么这是否会绕过 dbOwner 和 ObjectQualifier:
Public Function GetProducts_Short_Active() As IEnumerable(Of Object)
Using ctx As IDataContext = DataContext.Instance
Return ctx.ExecuteQuery(Of Object)(CommandType.Text, "SELECT * FROM dbo.vw_ProductList_Short_Active", Nothing)
End Using
End Function
问题: 或者我应该为每个 sql-server-view 定义一个类和属性(就像我为每个表所做的那样),表名注释是视图的名称,如下所示?
<TableName("vw_ProductList_Short_Active")> _
<PrimaryKey("ProductId")> _
<Cacheable("ProductList_Short_Active", CacheItemPriority.Default, 20)> _
<Scope("PortalId")>
Public Class ProductList_Short_Active
''view properties go here
End Class
编辑1:
这篇文章似乎表明我不应该使用视图,而是使用 iEnumerable 的可忽略列来扩展我的产品类,这些列代表我需要的“已连接”数据记录。那准确吗?