首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linq-to-sql datacontext类设计问题?

Linq-to-sql datacontext类设计问题?
EN

Stack Overflow用户
提问于 2010-06-22 05:59:00
回答 1查看 356关注 0票数 1

我只在web场景中使用linq-to-sql。我知道建议总是在使用中包装数据上下文,但仅在web场景中,我为之设计的那种场景,这真的没有必要,因为每个页面都会在很短的时间内产生和死亡。

考虑到这一背景,我已经研究了一些扩展的linq-to-sql类

代码语言:javascript
复制
public partial class aspnet_User
{
    MainDataContext _dc = new MainDataContext();

    public MainDataContext DataContext 
    {
        get
        {
            return _dc;
        }
        set
        {
            _dc = value;
        }
    }

        public static aspnet_User GetUser(Guid guid)
        {
        //Here I load the user and associated child tables. 
        //I set the datacontext for the aspnet_User with the local DC here
        }

       //_dc.SubmitChanges()
       public SaveUser()

所以,这就是我所采用的设计构造,它似乎对我的情况很有效。我的部分问题是,我正在使用这个内置的成员结构,并试图添加到其中,这比重新创建我自己的成员结构更容易,但有一定的局限性。诚然,对象接口的确切组合并不理想,因为某些功能是跨数据库表分层的,不管是好是坏。

我的问题是,对于一些子对象,比如aspnet_Membership,我也用它自己的DC扩展了它。但是,还没有机制让我更新所有的孩子DC,而不是手动设置每个DC。

我希望看到不同的设计解决方案,这些解决方案需要最少的代码,可以以某种优雅的方式解决这个问题。

此外,任何关于对象分层的详细和具体的建议都可能受到重视。这可能是一举两得。

EN

回答 1

Stack Overflow用户

发布于 2010-06-22 06:03:52

您确实应该通过System.Web.Security.MembershipProvider类原生提供的方法来操作成员资格。不建议直接操作ASP.NET成员数据库中的数据库表。

如果您想要将System.Web.Security.MembershipProvider包装在您自己的自定义类中,这是很好的;事实上,ASP.NET MVC这样做正是为了使执行单元测试更容易。但这并不是真正的DataContext。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3088801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档