Region和Products表的SCHEMA代码,Region表中的主键时赋值方式,Products中的主键是自动增一的

NDO中的ActiveRecord 简介 2——强类型的活动记录CREATE TABLE [dbo].[Region] (
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[RegionID] [int] PRIMARY KEY,
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[RegionDescription] [nchar] (50NOT NULL 
NDO中的ActiveRecord 简介 2——强类型的活动记录
NDO中的ActiveRecord 简介 2——强类型的活动记录
CREATE TABLE [dbo].[Products] (
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductID] [int] IDENTITY (11PRIMARY KEY,
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductName] [nvarchar] (40NULL ,
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[SupplierID] [int] NULL ,
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[CategoryID] [int] NULL ,
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[QuantityPerUnit] [nvarchar] (20NULL ,
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitPrice] [money] NULL ,
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitsInStock] [smallint] NULL ,
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitsOnOrder] [smallint] NULL ,
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ReorderLevel] [smallint] NULL ,
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Discontinued] [bit] NOT NULL 
NDO中的ActiveRecord 简介 2——强类型的活动记录

强类型活动记录类Region和Product代码:Region的ID属性包含get和set,而Product的ProductID属性只需要get即可,因为Product类映射的Products表的主键是自动增一的。

NDO中的ActiveRecord 简介 2——强类型的活动记录public class Region:ActiveRecord
1_34_257_Closed_Text.style.display='none'; Codehighlighter1_34_257_Open_Image.style.display='inline'; Codehighlighter1_34_257_Open_Text.style.display='inline';" src="/Images/OutliningIndicators/ContractedBlock.gif" align=top>    
        }

应用例子:

   1 数据加载Load ,或LoadByKey返回数据库中的一条记录,如果有多条只加载第一条记录

NDO中的ActiveRecord 简介 2——强类型的活动记录Product product = new Product();
NDO中的ActiveRecord 简介 2——强类型的活动记录product.LoadByKey(
1);
NDO中的ActiveRecord 简介 2——强类型的活动记录
this.Text = product.ProductName + "--------" + product.SupplierID.ToString();
NDO中的ActiveRecord 简介 2——强类型的活动记录

 

SQL  输出

NDO中的ActiveRecord 简介 2——强类型的活动记录SELECT 
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductName],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[SupplierID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[CategoryID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[QuantityPerUnit],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitPrice],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitsInStock],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitsOnOrder],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ReorderLevel],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Discontinued]
NDO中的ActiveRecord 简介 2——强类型的活动记录
FROM
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Products]    
NDO中的ActiveRecord 简介 2——强类型的活动记录
WHERE
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductID]  = @ProductID

2 数据加载 2

NDO中的ActiveRecord 简介 2——强类型的活动记录Product product = new Products();
NDO中的ActiveRecord 简介 2——强类型的活动记录product.ID 
= 1;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.Load();
NDO中的ActiveRecord 简介 2——强类型的活动记录
this.Text = product.ProductName + "--------" + product.SupplierID.ToString();

SQL  输出同上

3 返回所有记录

NDO中的ActiveRecord 简介 2——强类型的活动记录Product product = new Product();
NDO中的ActiveRecord 简介 2——强类型的活动记录IList products 
= product.Find();
   
foreach(Product p in products)

SQL 输出

NDO中的ActiveRecord 简介 2——强类型的活动记录SELECT 
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductName],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[SupplierID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[CategoryID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[QuantityPerUnit],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitPrice],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitsInStock],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitsOnOrder],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ReorderLevel],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Discontinued]
NDO中的ActiveRecord 简介 2——强类型的活动记录
FROM
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Products]

4 分页操作,取第3页,每页5条记录

NDO中的ActiveRecord 简介 2——强类型的活动记录Product product = new Product();
NDO中的ActiveRecord 简介 2——强类型的活动记录IList products 
= product.Find(2,5);
NDO中的ActiveRecord 简介 2——强类型的活动记录
foreach(Product p in products)
}

SQL  输出

NDO中的ActiveRecord 简介 2——强类型的活动记录SELECT TOP 5 *  FROM Products WHERE ProductID > (SELECT MAX(ProductID) FROM ( SELECT TOP 10 ProductID FROM Products ORDER BY ProductID ASCAS TMP) ORDER BY ProductID ASC
NDO中的ActiveRecord 简介 2——强类型的活动记录

4.2 分页操作2,取第3页,每页5条记录

NDO中的ActiveRecord 简介 2——强类型的活动记录Product product = new Product();
NDO中的ActiveRecord 简介 2——强类型的活动记录product.Discontinued 
= false;
NDO中的ActiveRecord 简介 2——强类型的活动记录IList products 
= product.Find(2,5);
NDO中的ActiveRecord 简介 2——强类型的活动记录
foreach(Product p in products)
}

SQL  输出

NDO中的ActiveRecord 简介 2——强类型的活动记录SELECT TOP 5 *  FROM ( SELECT * FROM [Products]
NDO中的ActiveRecord 简介 2——强类型的活动记录
WHERE
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Discontinued]=@Discontinued ) AS TMP WHERE TMP.ProductID > (SELECT MAX(TMP3.ProductID) FROM ( SELECT TOP 10 TMP2.ProductID FROM ( SELECT * FROM
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Products]
NDO中的ActiveRecord 简介 2——强类型的活动记录
WHERE
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Discontinued]=@Discontinued ) AS TMP2 ORDER BY TMP2.ProductID ASCAS TMP3) ORDER BY TMP.ProductID ASC
NDO中的ActiveRecord 简介 2——强类型的活动记录

5  多条件查询

NDO中的ActiveRecord 简介 2——强类型的活动记录Product product = new Product();
NDO中的ActiveRecord 简介 2——强类型的活动记录product.SupplierID 
= 7;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.CategoryID 
= 3;
NDO中的ActiveRecord 简介 2——强类型的活动记录IList products 
= product.Find();
NDO中的ActiveRecord 简介 2——强类型的活动记录
foreach(Product p in products)
}

SQL  输出

NDO中的ActiveRecord 简介 2——强类型的活动记录SELECT 
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductName],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[SupplierID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[CategoryID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[QuantityPerUnit],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitPrice],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitsInStock],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitsOnOrder],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ReorderLevel],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Discontinued]
NDO中的ActiveRecord 简介 2——强类型的活动记录
FROM
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Products]
NDO中的ActiveRecord 简介 2——强类型的活动记录
WHERE
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[SupplierID]=@SupplierID AND
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[CategoryID]=@CategoryID

5.2 多条件查询,通过Condition

NDO中的ActiveRecord 简介 2——强类型的活动记录Product product = new Product();
NDO中的ActiveRecord 简介 2——强类型的活动记录Condition con 
= product.SelectCommand
NDO中的ActiveRecord 简介 2——强类型的活动记录    .NewCondition(
"SupplierID"== 7 
       && product.SelectCommand.NewCondition("CategoryID"== 3;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.SelectCommand.Where(con);
NDO中的ActiveRecord 简介 2——强类型的活动记录IList products 
= product.Find();
NDO中的ActiveRecord 简介 2——强类型的活动记录
foreach(Product p in products)
}

SQL  输出同上

6  数据插入

NDO中的ActiveRecord 简介 2——强类型的活动记录Region rg = new Region();
NDO中的ActiveRecord 简介 2——强类型的活动记录rg.ID 
= 7;
NDO中的ActiveRecord 简介 2——强类型的活动记录rg.Description 
= "77";           
NDO中的ActiveRecord 简介 2——强类型的活动记录rg.Save();

SQL 输出

NDO中的ActiveRecord 简介 2——强类型的活动记录INSERT INTO [Region] (
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[RegionID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[RegionDescription]
NDO中的ActiveRecord 简介 2——强类型的活动记录
VALUES (
NDO中的ActiveRecord 简介 2——强类型的活动记录    @RegionID,
NDO中的ActiveRecord 简介 2——强类型的活动记录    @RegionDescription
NDO中的ActiveRecord 简介 2——强类型的活动记录)

6.2 数据插入2

NDO中的ActiveRecord 简介 2——强类型的活动记录Product product = new Product();
NDO中的ActiveRecord 简介 2——强类型的活动记录product.ProductName 
="Test ActiveRecord!";
NDO中的ActiveRecord 简介 2——强类型的活动记录product.SupplierID 
= 7;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.CategoryID 
= 3;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.QuantityPerUnit 
= "test ! test !";
NDO中的ActiveRecord 简介 2——强类型的活动记录product.UnitPrice 
= 0.5m;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.UnitsInStock 
= 5;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.UnitsOnOrder 
= 3;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.ReorderLevel 
= 10;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.Discontinued 
= true;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.Save();
NDO中的ActiveRecord 简介 2——强类型的活动记录Console.WriteLine(product.ProductID);

SQL  输出

NDO中的ActiveRecord 简介 2——强类型的活动记录INSERT INTO [Products] (
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductName],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[SupplierID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[CategoryID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[QuantityPerUnit],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitPrice],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitsInStock],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitsOnOrder],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ReorderLevel],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Discontinued]
NDO中的ActiveRecord 简介 2——强类型的活动记录
VALUES (
NDO中的ActiveRecord 简介 2——强类型的活动记录    @ProductName,
NDO中的ActiveRecord 简介 2——强类型的活动记录    @SupplierID,
NDO中的ActiveRecord 简介 2——强类型的活动记录    @CategoryID,
NDO中的ActiveRecord 简介 2——强类型的活动记录    @QuantityPerUnit,
NDO中的ActiveRecord 简介 2——强类型的活动记录    @UnitPrice,
NDO中的ActiveRecord 简介 2——强类型的活动记录    @UnitsInStock,
NDO中的ActiveRecord 简介 2——强类型的活动记录    @UnitsOnOrder,
NDO中的ActiveRecord 简介 2——强类型的活动记录    @ReorderLevel,
NDO中的ActiveRecord 简介 2——强类型的活动记录    @Discontinued
NDO中的ActiveRecord 简介 2——强类型的活动记录);
NDO中的ActiveRecord 简介 2——强类型的活动记录
select CAST( SCOPE_IDENTITY() AS BIGINT)

6.3  数据插入3,部分字段的插入

NDO中的ActiveRecord 简介 2——强类型的活动记录Product product = new Product();
NDO中的ActiveRecord 简介 2——强类型的活动记录product.ProductName 
="Test ActiveRecord!";
NDO中的ActiveRecord 简介 2——强类型的活动记录product.SupplierID 
= 7;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.CategoryID 
= 3;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.QuantityPerUnit 
= "test ! test !";
NDO中的ActiveRecord 简介 2——强类型的活动记录product.Discontinued 
= true;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.Save();
NDO中的ActiveRecord 简介 2——强类型的活动记录Console.WriteLine(product.ProductID);

SQL 输出

NDO中的ActiveRecord 简介 2——强类型的活动记录INSERT INTO [Products] (
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductName],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[SupplierID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[CategoryID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[QuantityPerUnit],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Discontinued]
NDO中的ActiveRecord 简介 2——强类型的活动记录
VALUES (
NDO中的ActiveRecord 简介 2——强类型的活动记录    @ProductName,
NDO中的ActiveRecord 简介 2——强类型的活动记录    @SupplierID,
NDO中的ActiveRecord 简介 2——强类型的活动记录    @CategoryID,
NDO中的ActiveRecord 简介 2——强类型的活动记录    @QuantityPerUnit,
NDO中的ActiveRecord 简介 2——强类型的活动记录    @Discontinued
NDO中的ActiveRecord 简介 2——强类型的活动记录)
select CAST( SCOPE_IDENTITY() AS BIGINT)

7 数据更新

NDO中的ActiveRecord 简介 2——强类型的活动记录Region rg = new Region();
NDO中的ActiveRecord 简介 2——强类型的活动记录rg.ID 
= 7;
   rg.Load();
NDO中的ActiveRecord 简介 2——强类型的活动记录rg.
Description = "7777";           
    rg.Save();

SQL 输出

NDO中的ActiveRecord 简介 2——强类型的活动记录SELECT 
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[RegionID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[RegionDescription]
NDO中的ActiveRecord 简介 2——强类型的活动记录
FROM
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Region]
NDO中的ActiveRecord 简介 2——强类型的活动记录
WHERE
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[RegionID]=@RegionID
NDO中的ActiveRecord 简介 2——强类型的活动记录
NDO中的ActiveRecord 简介 2——强类型的活动记录
UPDATE [Region] SET 
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[RegionDescription] = @RegionDescription
NDO中的ActiveRecord 简介 2——强类型的活动记录
WHERE
NDO中的ActiveRecord 简介 2——强类型的活动记录    RegionID 
= @RegionID

7.2 数据更新,有选择性的只更新“脏”列

NDO中的ActiveRecord 简介 2——强类型的活动记录Product product = new Product();
NDO中的ActiveRecord 简介 2——强类型的活动记录product.ID 
= 93;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.Load();
NDO中的ActiveRecord 简介 2——强类型的活动记录product.ProductName 
="Test Update ActiveRecord!";
NDO中的ActiveRecord 简介 2——强类型的活动记录product.QuantityPerUnit 
= "test Update! test Update!";
NDO中的ActiveRecord 简介 2——强类型的活动记录product.Discontinued 
= true;
NDO中的ActiveRecord 简介 2——强类型的活动记录product.Save();

SQL  输出

NDO中的ActiveRecord 简介 2——强类型的活动记录SELECT 
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductName],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[SupplierID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[CategoryID],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[QuantityPerUnit],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitPrice],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitsInStock],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[UnitsOnOrder],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ReorderLevel],
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Discontinued]
NDO中的ActiveRecord 简介 2——强类型的活动记录
FROM
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Products]
NDO中的ActiveRecord 简介 2——强类型的活动记录
WHERE
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductID]=@ProductID
NDO中的ActiveRecord 简介 2——强类型的活动记录
NDO中的ActiveRecord 简介 2——强类型的活动记录
UPDATE [Products] SET 
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[ProductName] = @ProductName,
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[QuantityPerUnit] = @QuantityPerUnit,
NDO中的ActiveRecord 简介 2——强类型的活动记录    
[Discontinued] = @Discontinued
NDO中的ActiveRecord 简介 2——强类型的活动记录
WHERE
NDO中的ActiveRecord 简介 2——强类型的活动记录    ProductID 
= @ProductID

 

7.3 数据删除

NDO中的ActiveRecord 简介 2——强类型的活动记录Region = new Region();
NDO中的ActiveRecord 简介 2——强类型的活动记录rg.ID
=6;
NDO中的ActiveRecord 简介 2——强类型的活动记录rg.Delete();

SQL  输出

NDO中的ActiveRecord 简介 2——强类型的活动记录DELETE FROM [Region]
NDO中的ActiveRecord 简介 2——强类型的活动记录
WHERE
NDO中的ActiveRecord 简介 2——强类型的活动记录    RegionID 
= @RegionID

1.5 数据删除2(条件删除(活动记录里面封装了Table数据库表的元数据对象里面),也可以以Filter方式进行删除或Where子句的方式进行删除)

NDO中的ActiveRecord 简介 2——强类型的活动记录Region rg = new Region();NDO中的ActiveRecord 简介 2——强类型的活动记录          
   Condition con = rg.DeleteCommand.NewCondition(rg.Table.Key.Columns[0].Name) == 6;
NDO中的ActiveRecord 简介 2——强类型的活动记录con.Execute();
NDO中的ActiveRecord 简介 2——强类型的活动记录

SQL  输出 同上

上一篇

相关文章:

  • 2022-12-23
  • 2021-04-28
  • 2021-10-29
  • 2021-08-03
  • 2022-12-23
  • 2022-12-23
  • 2021-07-19
  • 2022-12-23
猜你喜欢
  • 2021-11-23
  • 2021-12-26
  • 2021-09-30
  • 2021-12-25
  • 2021-09-24
  • 2021-12-18
相关资源
相似解决方案