Ramblings from the Creator of WilsonDotNet.com
CREATE PROCEDURE RetrieveCategoryList () AS SELECT CategoryId, CategoryName FROM Categories;CREATE PROCEDURE RetrieveCategoryById (@CategoryId INT) AS SELECT CategoryId, CategoryName FROM Categories WHERE CategoryId = @CategoryId;CREATE PROCEDURE InsertCategory (@CategoryName VARCHAR(50)) AS INSERT INTO Categories (CategoryName) VALUES (@CategoryName); SELECT CategoryId = SCOPE_IDENTITY();CREATE PROCEDURE UpdateCategory (@CategoryId INT, @CategoryName VARCHAR(50)) AS UPDATE Categories SET CategoryName = @CategoryName WHERE CategoryId = @CategoryId;CREATE PROCEDURE DeleteCategory (@CategoryId INT) AS DELETE FROM Categories WHERE CategoryId = @CategoryId;
<entity type="Demo.Category" table="Categories" keyMember="id" keyType="Auto"> <attribute member="id" field="CategoryId" alias="Id" /> <attribute member="name" field="CategoryName" alias="Name"/></entity>
namespace Demo { public class Category { private int id; private string name; public int Id { get { return this.id; } } public string Name { get { return this.name; } set { this.name = value; } } }}
ObjectSpace manager = new ObjectSpace(mappingFile, connectString, Provider.MsSql);CategoryGrid.DataSource = manager.GetObjectSet(typeof(Category), String.Empty);// .NET v2.0: CategoryGrid.DataSource = manager.GetObjectSet<Category>(String.Empty);
Category category = manager.GetObject(typeof(Category)) as Category;// .NET v2.0: Category category = manager.GetObject<Category>();category.Name = "Insert";manager.PersistChanges(category);
Category category = manager.GetObject(typeof(Category), id) as Category;// .NET v2.0: Category category = manager.GetObject<Category>(id);category.Name = "Update";manager.PersistChanges(category);
Category category = manager.GetObject(typeof(Category), id) as Category;// .NET v2.0: Category category = manager.GetObject<Category>(id);manager.MarkForDeletion(category);manager.PersistChanges(category);
manager.ExecuteDelete(typeof(Category). String.Empty);