【问题标题】:Custom objectset extension methods自定义对象集扩展方法
【发布时间】:2013-06-14 13:52:10
【问题描述】:

我尝试过用谷歌搜索诸如“c# ef objectset extension methods”之类的字符串,但我想我在这里使用了错误的术语,因为我找不到任何相关的内容。

我想知道的是如何添加可以在我的数据库上下文中使用的自定义扩展方法:

context.TABLE.MyMethod(...

我假设有很多 SO 线程涵盖了这一点,但我找不到它们。

【问题讨论】:

    标签: c# entity-framework extension-methods


    【解决方案1】:
    public static class YourExtensions
    {
        public static void MyMethod<T>(this DbSet<T> table)
           where T: class // this constraint is required because DbSet<T> have it
        {
            // code here
        }
    }
    

    这是 Extension Methods 上的 MSDN 文章

    【讨论】:

    • 谢谢。 DbSet 不应该是 IEnumerable 吗?
    • @Johan 这取决于您是否希望将此方法仅应用于DbSet,或应用于任何可枚举
    • @Johan 现在是通用的 :) 您可以将它与任何表格一起使用
    • 是的,刚刚注意到。我虽然您希望我首先将 切换为实际类型:)。感谢您的帮助!
    • @Johan 我做了一个小更新——你需要一个通用参数的约束。它应该是一个类
    猜你喜欢
    • 2013-06-12
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    • 2010-11-25
    • 2014-10-12
    • 2013-08-09
    • 2012-09-10
    • 1970-01-01
    相关资源
    最近更新 更多