2016-09-27 5 views
2

私はデプロイされているフォルダ内にデータを格納する単純なAzure Webアプリケーションを作成したいと考えています(..\wwwroot\)。 "myapp" .azurewebsites.netから提供されたサンプルコードをダウンロードしましたが、EntityFrameworkが使用されています。 SQLiteを使用するようにEFを設定することは可能ですか、独自のSQLiteプロバイダを実装する必要はありますか? (... https://www.nuget.org/packages/sqlite-net-pcl/ からPCLのバージョンを使用して、誰かが私はAzureの上でSQLiteのに適したスニペットを見つけられませんでした私に任意のサンプルをお勧めすることができAzure Webアプリケーションとsqliteデータベース

これは、これまでの私のコードです:?。

public class DataService 
{ 
    private static string sqliteFilename = "myDbName.sqlite"; 
    private static SQLiteConnection dbConnection; 

    public static bool Initialize() 
    { 
     Directory.CreateDirectory(HttpContext.Current.Server.MapPath(@"\App_Data\")); 
     string path = Path.Combine(HttpContext.Current.Server.MapPath(@"\App_Data\"), sqliteFilename); 
     dbConnection = new SQLiteConnection(path); 
     dbConnection.CreateTable<Category>(); 
     dbConnection.CreateTable<User>(); 
     return true; 
    } 
} 

私が手ずっとそれについて私に教えてくれない、エラー、...「SQLite.SQLiteConnection」の

タイプ初期化子が例外をスローしました

答えて

0

展開パッケージのファイルはAzure Runtime環境にアップロードされ、d:\ homeディレクトリに保存されます。これらのファイルは永続的で、サイトの複数のインスタンス間で共有されます。 Webアプリケーションのフリーおよび共有層では、永続的なストレージの制限は1 GBで、ベーシックおよびスタンダードのティアは10 GBと50 GBになります。

コードでsqliteファイルを作成する代わりに、事前作成し、展開されたファイルセットの中にファイルとしてアップロードすることができます。 kuduを使用してファイルへの実際のパスを見つけ、コード内で参照してください。

参考:https://github.com/projectkudu/kudu/wiki/Azure-runtime-environment#file-system

このアプローチの欠点は、データベースファイルが展開が行われるたびに置き換えられるだろうということです。

関連する問題