2

着信DBMSを気にしないようにアプリを作成する必要があります。Oracle、PostgreSQL、MySqlなどが可能です。

ローカルデータベース管理システムは、データをロードするSQLServer2008を使用します。

何が必要/計画して...

  1. ユーザーはテキストボックスを持っており、可能なdbmsごとにローカルデータベース/構成ファイルに接続文字列値を作成/保存できます。
  2. 次に、アプリケーションはこれを使用して接続文字列を形成し、着信データベースに一度に1つずつ、または可能であれば同時に接続する必要があります。
  3. 値を取得して、ローカルデータベースに配置します。
  4. 受信データベースにデータを書き込む必要はありません。一方向のみ。

つまり、データベースに依存しないアプリケーションで、設定されたクエリに基づいて値を読み取り、指定されたデータベースに配置するだけです。

これを行うこと、または魔法のように聞こえることは可能ですか?

私が開発できるソリューション/サンプル/テクニックはありますか?

アプリケーションはSilverlight+ASP.NETtechに基づいています。

4

4 に答える 4

3

デザインパターンについて検索して勉強する必要があります。このリンクをチェックしてください。LLBLGenもチェックして
ください。独自のソリューションを選択する場合は、レイヤーで作業する必要があります。疎結合のデータ アクセス層 (DAL) を定義します。それを行う 1 つの方法は、インターフェイスを使用することです。データベース接続用のInterfaceを定義し、DBMS用の各クラスに実装させます。次に、次の行でデータベース接続文字列を取得できます。
出典

public static IDbConnection GetConnection(string connectionName)
    {
      ConnectionStringSettings ConnectString = ConfigurationManager.ConnectionStrings[connectionName];
//Use a Factory class, to which you pass the ProviderName and 
//it will return you object for that particular provider, you will have to implement it
      DbProviderFactory Factory = DbProviderFactories.GetFactory(ConnectString.ProviderName);
      IDbConnection Connection = Factory.CreateConnection();
      Connection.ConnectionString = ConnectString.ConnectionString;
      return Connection;
    }

次に、次のように使用できます。

public static DataTable GetData()
{
  using (IDbConnection Connection = GetConnection("SiteSqlServer"))
  {
    IDbCommand Command = Connection.CreateCommand();
    Command.CommandText = "DummyCommand";
    Command.CommandType = CommandType.StoredProcedure;

    Connection.Open();

    using (IDataReader reader = Command.ExecuteReader())
    {
      DataTable Result = new DataTable();
      Result.Load(reader);
      return Result;
    }
  }
}
于 2012-05-06T19:24:26.980 に答える
2

これはかなり基本的な要件であり、オブジェクト リレーショナル マッピング フレームワークの 1 つを使用して簡単に満たすことができるはずです。

私がお勧めするなら - NHibernate を使ってください。

Silverlight + ASP.NET は、サーバー側で永続化する限り、データを永続化する方法とは関係ありません。Silverlight アプリケーションの場合、クライアントとサーバーの間で通信するためにいくつかの WCF Web サービスも必要になります。

于 2012-05-06T19:20:52.737 に答える
0

他の回答と同じように、次の質問を見ることを強くお勧めしますhttps://stackoverflow.com/questions/132676/which-orm-for-net-would-you-recommendそこのORMのダウン。

于 2012-05-06T19:43:16.627 に答える
0

他の回答が言ったことに基づいて構築します。このように問題を考えてみてください。

「フロントエンド(asp.net/silver light)」<->「データストレージ」があります

あなたが望むのは、中間のステップです

「フロントエンド」<->「データベースに無知なレイヤー」<->「データストレージ」

この中間層は ORM かもしれませんが、実際の ORM とは (何百ものコード行と何年にもわたる洗練された経験を除いて) リポジトリと作業単位パターンの実装です。

于 2012-05-06T20:29:50.940 に答える