zoukankan      html  css  js  c++  java
  • 关于ObjectSpace的Delay Loading

    Delay Loading在现阶段的ObjectSpace并不是太好,很不稳定。而且Mapping工具不支持设置Delay Loading。
    我的解决办法是构建一个泛型的集合类,然后在前一个关系对象添加个为这个类型的属性,在get访问器中构建类的实例,然后返回。

    集合类代码:

    public class MyObjects<Objectype> : CollectionBase
    {

    private ObjectSet<Objectype> obs;
    private System.Data.ObjectSpaces.ObjectSpace os;
    private SqlConnection con = new SqlConnection("Server=localhost;DataBase=northwind;UID=sa;PWD=;");


    /// <summary>
    /// 根据ID建立一个对象集合
    /// </summary>
    /// <param name="QueryString">查询字串(大小写敏感)</param>
    /// <param name="ObjName">希望构建的对象类型名称</param>

    public MyObjects(string QueryString)
    {

    try
    {
    os = new ObjectSpace("data.msd", con);

    obs = os.GetObjectSet<Objectype>(QueryString);
    foreach (Objectype obj in obs)
    {
    Add(obj);
    }
    }
    catch (Exception ex)
    {
    throw new Exception("构造对象集合错误,原因:数据库错误或者没有需要的对象\n" + ex.ToString());
    }

    }
    }

    属性访问器的代码片断:

    private MyObjects<Orders> myVar;

    public MyObjects<Orders> orders
    {
    get
    {
    MyObjects<Orders> or = new MyObjects<Orders>("customerID='" + this.iD + "'");
    return or;

    }
    set { myVar = value; }
    }

  • 相关阅读:
    scrapy 第一个案例(爬取腾讯招聘职位信息)
    scrapy 代码调试用 shell
    scrapy 命令行创建 启动 跟踪
    scrapy 手动编写模板
    scrapy安装
    爬虫之xpath用法
    爬虫之 beautifusoup4
    抓包工具fiddler
    12306登录爬虫 session版本
    Drainage Ditches(dinic)
  • 原文地址:https://www.cnblogs.com/format/p/5864.html
Copyright © 2011-2022 走看看