Browse Source

Added DbModelInfoFactory.cs

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1630 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Dickon Field 19 years ago
parent
commit
c52c1c5012
  1. 4
      src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbModelInfo.cs
  2. 47
      src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbModelInfoFactory.cs

4
src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbModelInfo.cs

@ -54,9 +54,5 @@ namespace SharpDbTools.Model @@ -54,9 +54,5 @@ namespace SharpDbTools.Model
return this.Tables[collectionName];
}
}
// public bool HasModel {
// get;
// }
}
}

47
src/AddIns/Misc/SharpDbTools/Project/Src/Model/DbModelInfoFactory.cs

@ -0,0 +1,47 @@ @@ -0,0 +1,47 @@
/*
* User: dickon
* Date: 28/07/2006
* Time: 21:55
*
*/
using System;
using SharpDbTools.Connection;
using System.Data;
using System.Data.Common;
namespace SharpDbTools.Model
{
/// <summary>
/// Description of Class1.
/// </summary>
public sealed class DbModelInfoFactory
{
DbModelInfoFactory()
{
}
public static DbModelInfo GetDbModelInfo(string name, string invariantName, string connectionString)
{
DbModelInfo dbModel = new DbModelInfo(name, invariantName, connectionString);
DbProvidersService factoryService = DbProvidersService.GetDbProvidersService();
DbProviderFactory factory = factoryService[invariantName];
DbConnection connection = factory.CreateConnection();
// get the Schema table
DataTable schemaInfo = connection.GetSchema();
// iterate through the rows in it - the first column of each is a
// schema info collection name that can be retrieved as a DbTable
// Add each one to the DbModel DataSet
foreach (DataRow collectionRow in schemaInfo.Rows) {
String collectionName = (string)collectionRow[0];
DataTable nextMetaData = connection.GetSchema(collectionName);
dbModel.Merge(nextMetaData);
}
return dbModel;
}
}
}
Loading…
Cancel
Save