首页 新闻 赞助 找找看

linq to sql中DataContext问题

0
悬赏园豆:50 [已关闭问题] 关闭于 2009-10-21 10:35

假设现在linq to sql 的DataContext叫作RepositoryContext

在数据访问代码中,有两种写法,哪一种好些呢?

写法一:

    public class UserDAL 
    {
        private readonly RepositoryContext context;
        public UserDAL(RepositoryContext context)
        {
            this.context = context;
        }

        public void Add()
       {

         //这里使用context

       }

        public void Delete()
       {

         //这里使用context

       }

  }

写法二:

    public class UserDAL 
    {
        private readonly RepositoryContext context;
        public UserDAL(RepositoryContext context)
        {
            this.context = context;
        }

        public void Add()
       {
           using(RepositoryContext context=new RepositoryContext())
           {

                //这里使用context
           }

       }

        public void Delete()
       {

           using(RepositoryContext context=new RepositoryContext())
           {

                //这里使用context

    &nb

.netlover的主页 .netlover | 菜鸟二级 | 园豆:207
提问于:2009-10-11 12:46
< >
分享
所有回答(3)
0

两种都不好。还是采用微软默认的方法呢。你这些方法,都要反复打开、关闭连接,影响效率。

麦舒 | 园豆:452 (菜鸟二级) | 2009-10-11 17:33
不是吧~~~你这样说我不同意呢
支持(0) 反对(0) .netlover | 园豆:207 (菜鸟二级) | 2009-10-12 11:15
个人观点,仅供参考罢了。
支持(0) 反对(0) 麦舒 | 园豆:452 (菜鸟二级) | 2009-10-13 12:53
0

- -

readonly 怎么this.context = context ?

两种方式不太懂,第二种,既然已经给了context对象了,为什么还要去new一个出来?

James.Ying | 园豆:1472 (小虾三级) | 2009-10-13 11:56
0

 public class UserDAL 
    {
        private RepositoryContext  context =new RepositoryContext();
        public void Add()
       {

         //这里使用context

       }

        public void Delete()
       {

         //这里使用context

       }

  }

我觉得这样用最好。

天堂口 | 园豆:514 (小虾三级) | 2009-10-13 16:20
不好,需要多次打开、关闭连接。
支持(0) 反对(0) 麦舒 | 园豆:452 (菜鸟二级) | 2009-10-13 17:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册