Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从静态类引用Linq2SQL类_C#_Asp.net - Fatal编程技术网

C# 如何从静态类引用Linq2SQL类

C# 如何从静态类引用Linq2SQL类,c#,asp.net,C#,Asp.net,我有一个奇怪的问题,我有一个这样的静态类 public static class BlogDataAccess { private static Blog _Blg; public static Blog Blg { get { _Blg = new Blog (); return _Blog ; } } } 然后在我的页面中,我执行以下操作 var DataC

我有一个奇怪的问题,我有一个这样的静态类

  public static class BlogDataAccess
{
    private static Blog _Blg;
    public static Blog Blg
    {
        get
        {
           _Blg = new Blog ();
           return _Blog ;
        }
    }

}
然后在我的页面中,我执行以下操作

  var DataContext= new DataClasses();
  BlogDataAccess.Blg.ArticleTitle ="Title";
  DataContext.Blog.InsertOnSubmit(BlogDataAccess.Blg);
  DataContext.SubmitChanges();

将插入记录,但ArticleTitle字段的值为空。

每次访问
BlogDataAccess.Blg
时,您都在创建一个新对象。我认为您的意思是像这样实现延迟实例化:

public static class BlogDataAccess
{
    private static Blog _Blg;
    public static Blog Blg
    {
        get
        {
            if(_Blg == null)
                _Blg = new Blog();

            return _Blg;
        }
    }

}

每次访问
BlogDataAccess.Blg
,您都在创建一个新对象。我认为您的意思是像这样实现延迟实例化:

public static class BlogDataAccess
{
    private static Blog _Blg;
    public static Blog Blg
    {
        get
        {
            if(_Blg == null)
                _Blg = new Blog();

            return _Blg;
        }
    }

}

哇,哇,伙计,你帮我节省了几个小时,它真的很有魅力,非常感谢:)这项技术有什么不足之处吗?好吧,它假设你需要并且只有一个对象实例可用。延迟实例化的唯一缺点是对象的构造需要很长时间。第一次访问时,您可能会看到一些延迟。因此,正如您所看到的,这是一个博客模块,可能有3个用户正在添加、编辑文章,所以这会造成问题吗?不,不,应该可以。当然,除非你的Blog()构造函数试图将整个内容从数据库读入内存或其他什么。没有人,就像我告诉你的那样,我会给用户控制面板来管理博客条目,然后使用db在前端显示文章。再次感谢:)哇,哇,伙计,你帮我节省了几个小时,效果很好,非常感谢:)这项技术有什么不足之处吗?好吧,它假设你只需要一个可用对象的实例。延迟实例化的唯一缺点是对象的构造需要很长时间。第一次访问时,您可能会看到一些延迟。因此,正如您所看到的,这是一个博客模块,可能有3个用户正在添加、编辑文章,所以这会造成问题吗?不,不,应该可以。当然,除非你的Blog()构造函数试图将整个内容从数据库读入内存或其他什么。没有人,就像我告诉你的那样,我会给用户控制面板来管理博客条目,然后使用db在前端显示文章。真的再次感谢:)