2016-09-27 4 views
2

저는 배치 된 폴더 (..\wwwroot\)에 데이터를 저장하는 단순한 푸른 웹 응용 프로그램을 만들고 싶습니다. "myapp".azurewebsites.net에서 제공된 샘플 코드를 다운로드했지만 EntityFramework가 사용되었습니다. SQLite를 사용하도록 EF를 구성 할 수 있습니까? 아니면 자체 SQLite Provider를 구현해야합니까? ? (... https://www.nuget.org/packages/sqlite-net-pcl/ 에서 PCL 버전을 사용하는 것은 누군가가 내가 푸른에 SQLite는 적합한 조각을 찾을 수 없습니다 어떤 샘플 저를 추천 할 수Azure 웹 응용 프로그램과 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'에 대한

형식 이니셜 라이저에서 예외를 Throw

답변

0

배포 패키지의 파일은 Azure 런타임 환경에 업로드되고 d : \ home 디렉토리에 지속됩니다. 이러한 파일은 영구하며 사이트의 여러 인스턴스간에 공유됩니다. 웹 응용 프로그램의 무료 및 공유 티어에서 영구 저장 용량 한도는 1GB이고 기본 및 표준 티어는 10GB 및 50GB입니다.

그래서 코드에 sqlite 파일을 만드는 대신; 미리 생성하고 배포 된 파일 집합 사이에 파일로 업로드 할 수 있습니다. kudu를 사용하여 파일의 실제 경로를 찾고 코드에서 참조하십시오.

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

이 방식의 단점은 데이터베이스 파일이 배포가 수행 될 때마다 대체 될 것입니다.

관련 문제