1

假设我有一个customer使用北风数据库的实体。

如果我GetCustomerByIDpartial class customer. 我可以通过使用Linq查询来执行此功能,例如

Dim q = From t in db.Customers where t.GetCustomerByID(my_parameter) Select T

如果我在partial class dx_northwindDataContext. 我可以使用以下方法执行此功能:

Dim result = db.GetCustomerByID(my_parameter)

因为我正在为我的数据库创建数据访问层,并且没有将我的所有函数都暴露给我的所有实体给db变量。我正在寻找一种调用我的函数的方法,例如:

Dim result = db.Customers.GetCustomerByID(my_parameter)

有没有办法做到这一点?

4

1 回答 1

2

是的,您可以为以下内容创建扩展db.Customers

Imports System.Runtime.CompilerServices

    Module IQueryableExtensions

        <Extension()> 
        Public Function GetCustomerByID(ByVal source As IQueryable(Of Customer), ByVal id As Int32) As IQueryable(Of Customer)
            return source.Where(Function(f)f.Id == id)
        End Sub

    End Module
于 2013-05-19T11:02:02.090 回答