مروری بر طراحی Schema less بانک اطلاعاتی SisoDb
نویسنده: وحید نصیری
تاریخ: ۱۳۹۱/۱۱/۲۵ ۱۵:۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
using SisoDb.Sql2008;
namespace SisoDbTests
{
public class Customer
{
public int Id { get; set; }
public int CustomerNo { get; set; }
public string Name { get; set; }
}
class Program
{
static void Main(string[] args)
{
/*var cnInfo = new SqlCe4ConnectionInfo(@"Data source=sisodb2013.sdf;");
var db = new SqlCe4DbFactory().CreateDatabase(cnInfo);
db.EnsureNewDatabase();*/
var cnInfo = new Sql2008ConnectionInfo(@"Data Source=(local);Initial Catalog=sisodb2013;Integrated Security = true");
var db = new Sql2008DbFactory().CreateDatabase(cnInfo);
db.EnsureNewDatabase();
var customer = new Customer
{
CustomerNo = 20,
Name = "Vahid"
};
db.UseOnceTo().Insert(customer);
using (var session = db.BeginSession())
{
var info = session.Query<Customer>().Where(c => c.CustomerNo == 20).FirstOrDefault();
var info2 = session.Query<Customer>().Where(c => c.CustomerNo == 20 && c.Name=="Vahid").FirstOrDefault();
}
}
}
}var info = session.Query<Customer>().Where(c => c.CustomerNo == 20).FirstOrDefault();
SELECT DISTINCT TOP(1) (s.[StructureId]),
s.[Json]
FROM [CustomerStructure] s
LEFT JOIN [CustomerIntegers] mem0
ON mem0.[StructureId] = s.[StructureId]
AND mem0.[MemberPath] = 'CustomerNo'
WHERE (mem0.[Value] = 20);var info2 = session.Query<Customer>().Where(c => c.CustomerNo == 20 && c.Name=="Vahid").FirstOrDefault();
SELECT DISTINCT TOP(1) (s.[StructureId]),
s.[Json]
FROM [CustomerStructure] s
LEFT JOIN [CustomerIntegers] mem0
ON mem0.[StructureId] = s.[StructureId]
AND mem0.[MemberPath] = 'CustomerNo'
LEFT JOIN [CustomerStrings] mem1
ON mem1.[StructureId] = s.[StructureId]
AND mem1.[MemberPath] = 'Name'
WHERE ((mem0.[Value] = 20) AND (mem1.[Value] = 'Vahid'));