日期:2014-05-20  浏览次数:20889 次

Linq to sql如何动态的映射一个数据库?
问题是这样:
我用的外部XML文件映射到方式作linq to sql 的映射关系,但是我这里的映射到数据库是动态改变的,如何实现呢?


如:
<?xml version="1.0" encoding="utf-8" ?>

<Database Name="TestDB" xmlns="http://schemas.microsoft.com/linqtosql/mapping/2007">
<Table Name="dbo.Comment" Member="Comment">
<Type Name="Legend.Domain.Model.Entities.Comment">
<Column Name="Id" Member="Id" DbType="BigInt NOT NULL IDENTITY" IsPrimaryKey="true" IsDbGenerated="true" AutoSync="OnInsert" />
<Column Name="Title" Member="Title" DbType="NVarChar(50) NOT NULL" />
<Column Name="Detail" Member="Detail" DbType="NVarChar(500) NOT NULL" CanBeNull="false" />
</Type>
</Table>
</Database>

这里的<Database Name="TestDB"的TestDB是动态的,也许每次用户登录系统后,这里的Name就是一个特定的表?

------解决方案--------------------
Database 的 Name 你不用管它。你更换 Connection 连接就可以连接到不同的数据库了。