Mercurial > pub > bltoolkit
diff HowTo/Data/DbManagerDemo.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HowTo/Data/DbManagerDemo.cs Thu Mar 27 21:46:09 2014 +0400 @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; + +using NUnit.Framework; + +using BLToolkit.Data; +using BLToolkit.Mapping; + +namespace HowTo.Data +{ + [TestFixture] + public class DbManagerDemo + { + // The MapValue attribute is used by BLToolkit. + // + public enum Gender + { + [MapValue("F")] Female, + [MapValue("M")] Male, + [MapValue("U")] Unknown, + [MapValue("O")] Other + } + + // Business object. Here we use C# 3.0 automatic properties, + // however it can be public fields, regular or abstract properties. + // The MapField attribute is used by BLToolkit to associate a database field + // with a business object property if they have different names. + // + public class Person + { + [MapField("PersonID")] + public int ID { get; set; } + public string FirstName { get; set; } + public string MiddleName { get; set; } + public string LastName { get; set; } + public /*[a]*/Gender/*[/a]*/ Gender { get; set; } + } + + // BLToolkit data access method. + // + public List<Person> /*[a]*/GetList/*[/a]*/(Gender gender) + { + /*[a]*/using/*[/a]*/ (/*[a]*/DbManager/*[/a]*/ db = new DbManager(/*[a]*/"DemoConnection"/*[/a]*/)) + { + return db + ./*[a]*/SetCommand/*[/a]*/( + "SELECT * FROM Person WHERE Gender = @gender", + db./*[a]*/Parameter/*[/a]*/("@gender", /*[a]*/Map.EnumToValue/*[/a]*/(gender))) + ./*[a]*/ExecuteList/*[/a]*/<Person>(); + } + } + + [Test] + public void Test() + { + List<Person> list = GetList(Gender.Male); + Assert.Greater(list.Count, 0); + } + } +}