Mego开发文档 - 匿名对象操作

匿名对象操作

既然普通的CLR类型可以映射到数据表,那么匿名类型也同样可以。Mego中提供了针对匿名类型操作数据表的API以方便一些临时的增删改查操作。我们在操作需要创建出一个匿名类型,这样可以通知Mego你需要操作的列。由于框架的限制,您必须要在类型中包含一个名为Id的属性作为操作的主键,同时您需要显的声明所操作的数据表名称。例如下面几个代码示例中,在创建数据集对象后,就可以像普通数据集一样执行框架中所支持的所有数据操作。

匿名对象查询

using (var db = new OrderManageEntities())
{
    var item = new { Id = 0, Name = "", Code = "" };
    var ds = db.Set(item, "Customers");
    var data = (from a in ds
                where a.Id > 20 && a.Id < 30
                select a).ToArray();
}

匿名对象添加数据

using (var db = new OrderManageEntities())
{
    var data = new
    {
        Id = 10000,
        Name = "Customer 100",
        Code = "C100",
        Address1 = "A",
        Address2 = "B",
        Zip = "Z"
    };
    db.Set(data, "Customers").Add(data);
    db.Executor.Execute();
}

匿名对象更新数据

using (var db = new OrderManageEntities())
{
    var newitem = new { Id = 10, Name = "Customer 100" };
    db.Set(newitem, "Customers").Update(newitem);
    db.Executor.Execute();
}

匿名对象删除数据

using (var db = new OrderManageEntities())
{
    db.Set(new { Id = 0 }, "OrderDetails").Remove(new { Id = 10 });
    db.Executor.Execute();
}

补充:以上示例为了表示清楚直接使用了数据库表名,如果将声明的数据表名换成临时表,这样可以让匿名对象直接以ORM的形式操作临时表。

[文档目录]

posted @ 2018-04-09 23:39  CarefreeXT  阅读(153)  评论(0编辑  收藏  举报