コンソール アプリで asp.net mvc 3 アプリからユーザー ID を取得する必要があります。これが私のコードです:(mvc)
public class MembershipRepository : IMembershipRepository
{
public Guid GetUserId(string name)
{
var providerUserKey = Membership.GetUser(name).ProviderUserKey; // HttpException
if (providerUserKey != null)
return (Guid)providerUserKey;
throw new NullReferenceException("user with this username does't exist");
}
}
(コンソール) コード:
ninjectKernel.Bind<IMembershipRepository>().To<MembershipRepository>();
var membershipRepository = ninjectKernel.Get<IMembershipRepository>();
Guid userId = membershipRepository.GetUserId("admin");
HttpException: SQL サーバー データベースに接続できません。
例外が発生する前に、ウィンドウがポップアップします: このプログラムには互換性の問題があります (microsoft sql seqver 2008 および 2008 r2)。
SQL Server 2012 をインストールしました。
その上、それはコードのほんの一部です。userId を取得しようとする前に、他のリポジトリを使用してデータベースにデータを追加すると機能します。テーブルの内容を確認すると、新しいエントリでいっぱいです。
コードを変更するにはどうすればよいですか? Mabby コンソール アプリで userId を取得する他の方法はありますか?
ありがとう!
編集:
App.config ファイル:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add
name="WebStoreConnectionString" connectionString="Data Source=(LocalDB)\v11.0; DataBase=WebStore;
AttachDbFilename=C:\Users\Aleksey\repos\working_copy\WebStore\WebStore\App_Data\WebStore.mdf;
Integrated Security=True;Connect Timeout=30"
providerName="System.Data.SqlClient"
/>
</connectionStrings>
</configuration>