配置

在使用Smark.Data需要通过配置文件来描述一些初始化信息,主要是描述需要加载那些实体类程序集和相关的数据库连接描述.
Config配置:
<configSections>
    		<section name="smarkdata" type="Smark.Data.SmarkDataSection,Smark.Data" />
</configSections>
<smarkdata>
<Connection>
     	 <add name="0" type="Smark.Data.MSSQL,Smark.Data" connectionstring="data source=192.168.1.2;initial catalog=northwind;user id=sa;pwd=;" encrypt="false"/>
     </Connection>
    		<Assembly>
      		<add type="XXX.Users"/>
    	</Assembly>
</smarkdata>
Connection是描述数据库连接,组件支持10个数据库连接配置;分别对应组件中的ConnectionType
  • type
是描述操作相关数据的Driver
  • connectionstring
是具体的数据连接描述
  • encrypt
描述该字符串是否加密,加密算法使用 BlowfishNET.
在运行时可以通过组件DBContext提供的方法来修改相关连接的Driver和连接信息
public static void SetConnectionDriver<T>(ConnectionType connection) where T : IDriver
public static string GetConnectionString(ConnectionType connection)
Assembly是描述需要初如化的实体类所在的程序集,可以不描述。组件会在第一次使用该实体类型时如果没有初始化会自动初始化;以下是操作组件简单的操作代码:
        public IList<Entities.Customers> CustomerList(string companyname)
        {
            Expression exp = new Expression();
            if (!string.IsNullOrEmpty(companyname))
                exp &= Entities.Customers.companyName.Match(companyname);
            
            return exp.List<Entities.Customers>();
        }
        public IList<Entities.Orders> OrderList(string customerid)
        {
            return (Entities.Orders.customerID == customerid).List<Entities.Orders>();
        }
        public IList<Entities.OrderDetails> DetailList(int orderid)
        {
            return (Entities.OrderDetails.orderID == orderid).List<Entities.OrderDetails>();
        }
在操作数据库的时候不指写ConnectionType则会默认使用第一个数据库配置描述进行操作。

Last edited Jun 4, 2010 at 10:08 AM by smarkhenry, version 11

Comments

No comments yet.