Mercurial > pub > bltoolkit
view HowTo/Data/ExecuteDictionary.cs @ 1:8f65451dc28f
Исправлена проблема с фабрикой и выборкой нескольких объектов в linq выражении
author | cin |
---|---|
date | Fri, 28 Mar 2014 01:04:56 +0400 |
parents | f990fcb411a9 |
children |
line wrap: on
line source
using System; using System.Collections.Generic; using NUnit.Framework; using BLToolkit.Common; using BLToolkit.Data; using BLToolkit.Mapping; namespace HowTo.Data { using DataAccess; [TestFixture] public class ExecuteDictionary { // The dictionary key is built from an object field/property. // Dictionary<int, Person> GetPersonDictionary1() { using (DbManager db = new DbManager()) { return db .SetCommand("SELECT * FROM Person") ./*[a]*/ExecuteDictionary/*[/a]*/<int, Person>(/*[a]*/"ID"/*[/a]*/); } } [Test] public void Test1() { Dictionary<int, Person> dic = GetPersonDictionary1(); Assert.AreNotEqual(0, dic.Count); } // The dictionary key is built from a recordset field value ('@' prefix). // Dictionary<int, Person> GetPersonDictionary2() { using (DbManager db = new DbManager()) { return db .SetCommand("SELECT * FROM Person") ./*[a]*/ExecuteDictionary/*[/a]*/<int, Person>(/*[a]*/"@PersonID"/*[/a]*/); } } [Test] public void Test2() { Dictionary<int, Person> dic = GetPersonDictionary2(); Assert.AreNotEqual(0, dic.Count); } // Complex dictionary key. // Dictionary</*[a]*/CompoundValue/*[/a]*/, Person> GetPersonDictionary3() { using (DbManager db = new DbManager()) { return db .SetCommand("SELECT * FROM Person") ./*[a]*/ExecuteDictionary/*[/a]*/<Person>(new /*[a]*/MapIndex("FirstName", "LastName")/*[/a]*/); } } [Test] public void Test3() { Dictionary</*[a]*/CompoundValue/*[/a]*/, Person> dic = GetPersonDictionary3(); Assert.AreNotEqual(0, dic.Count); } } }