none
关于entityFramework ObjectResult<DbDataReord> 内容修改的问题 RRS feed

  • 问题

  • string esql = "select a.name.a.age.a.sex from user as a";
    ObContent ob = new Obcontent();
    ObjectQuery<DbDataRecord> sql = ob.CreateQuery<DbDataRecord>(esql);
    ObjectResult<DbDataRecord> result = Execute(MergeOption.OverwriteChanges);
    foreach(DbDataRecord temp in result)
    {
     temp["age"] = 10;  //复制语句出错 DbDataRecord 属性 没有set方法 只能只读
    }
    
    有没有办法 对DbDataRecord 的内容修改啊 急等。。。。。。。
    
    举例 如果name ="Janet" 则把 age =23
    
    还有一种方法是 利用反射 DbDataRecord 转换成datatable 会的请指教
    
    
    
    2011年4月28日 2:24

答案

全部回复

  • 用dataset就可以了
    2011年4月28日 6:12
  • 刚才看了一下dataset 云里雾里

    DataSet ds = new DataSet();
    ds.Locale = CultureInfo.InvariantCulture;    /  dataset连接语句怎么写
    FillDataSet(ds);

    DataTable orders = ds.Tables["SalesOrderHeader"];
    DataTable details = ds.Tables["SalesOrderDetail"];

    var query =
        from order in orders.AsEnumerable()
        join detail in details.AsEnumerable()
        on order.Field<int>("SalesOrderID") equals
            detail.Field<int>("SalesOrderID")
        where order.Field<bool>("OnlineOrderFlag") == true
        && order.Field<DateTime>("OrderDate").Month == 8
        select new
        {
            SalesOrderID =
                order.Field<int>("SalesOrderID"),
            SalesOrderDetailID =
                detail.Field<int>("SalesOrderDetailID"),
            OrderDate =
                order.Field<DateTime>("OrderDate"),
            ProductID =
                detail.Field<int>("ProductID")
        };

    2011年4月28日 8:24
  • ds本身构造函数就可以写,或者指定commend

    • 已标记为答案 Janet Yuan 2011年5月6日 2:09
    2011年4月30日 5:52