33 lines
969 B
C#
33 lines
969 B
C#
|
using System;
|
|||
|
using System.Data.Common;
|
|||
|
using System.Linq;
|
|||
|
using System.Reflection;
|
|||
|
|
|||
|
namespace NzbDrone.Core.Datastore
|
|||
|
{
|
|||
|
public static class SqlCeProxy
|
|||
|
{
|
|||
|
private static readonly object instance;
|
|||
|
private static readonly Type proxyType;
|
|||
|
|
|||
|
static SqlCeProxy()
|
|||
|
{
|
|||
|
proxyType = Assembly.Load("NzbDrone.SqlCe").GetExportedTypes()[0];
|
|||
|
instance = Activator.CreateInstance(proxyType);
|
|||
|
}
|
|||
|
|
|||
|
public static DbConnection EnsureDatabase(string connectionString)
|
|||
|
{
|
|||
|
var factoryMethod = proxyType.GetMethod("EnsureDatabase");
|
|||
|
return (DbConnection)factoryMethod.Invoke(instance, new object[] { connectionString });
|
|||
|
}
|
|||
|
|
|||
|
public static DbProviderFactory GetSqlCeProviderFactory()
|
|||
|
{
|
|||
|
var factoryMethod = proxyType.GetMethod("GetSqlCeProviderFactory");
|
|||
|
return (DbProviderFactory)factoryMethod.Invoke(instance, null);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|