LinQ To Sql
1.Database类: //用于指向数据库连接语句
public class Database
{
public const string E2 = "E2";
}
-------App.config------
<connectionStrings>
<add name="E2" connectionString="Database=E2;Server=(local);Integrated Security=SSPI"
providerName="System.Data.SqlClient" />
</connectionStrings>
2.E2.dbml
[Function(Name="dbo.getLeafNamespace")]
public ISingleResult<getSystemNamespaceStructureResult> getLeafNamespace([Parameter(DbType = "NVarChar(64)")] string tenantID, [Parameter(DbType = "UniqueIdentifier")] System.Nullable<System.Guid> objectGuid, [Parameter(DbType = "NVarChar(5)")] string cultureID, [Parameter(DbType = "Bit")] System.Nullable<bool> byCulture)
{
IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), tenantID, objectGuid, cultureID, byCulture);
return ((ISingleResult<getSystemNamespaceStructureResult>)(result.ReturnValue));
}
[ResultType(typeof(getSystemNamespaceResult))]
[ResultType(typeof(getResourceResult))]
[ResultType(typeof(getToSystemNamespaceResult))]
public IMultipleResults getSystemNamespace([Parameter(DbType = "NVarChar(64)")] string tenantID, [Parameter(DbType = "UniqueIdentifier")] System.Nullable<System.Guid> objectGuid, [Parameter(DbType = "NVarChar(5)")] string cultureID, [Parameter(DbType = "Bit")] System.Nullable<bool> byCulture)
{
IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), tenantID, objectGuid, cultureID, byCulture);
return ((IMultipleResults)(result.ReturnValue));
}
2.BO:
using (var ctx = ContextManager<DalLinq.E2DataContext>.GetManager(DalLinq.Database.E2))
{
ctx.DataContext.addNamespace();
}
#region byGuid
if (cultureID != string.Empty && criteria.ObjectGuid != Guid.Empty)
{
IMultipleResults mr = ctx.DataContext.getNamespace(tenantID, criteria.ObjectGuid, cultureID, criteria.ByCulture);
if (criteria.ByCulture)
{
var systemNamespace = mr.GetResult<getToNamespaceResult>().Single();
Fetch(systemNamespace);
}
else
{
var systemNamespace = mr.GetResult<getNamespaceResult>().Single(); //会有多个结果集会被返回,要一个一个接受。按顺序!
var systemResources = mr.GetResult<getResourceResult>().ToArray();
Fetch(systemNamespace);
LoadProperty<NamespaceResources>(NamespaceResourcesProperty, NamespaceResources.GetNamespaceResources(systemResources));
}
}
#endregion

浙公网安备 33010602011771号