Microsoft Visual Studio 2017 CommunityエディションでC#を使用するためのチュートリアルに従っています。新しいSQLデータベースをプロジェクトに追加し、拡張子.sdfを付けることになっています
チュートリアルでは、IDEに付属しているテンプレートメニューから選択しますが、適切なものはありません。私が表示するデータベースは、を使用する「サービスベースのデータベース」だけです。 mdf拡張機能と小さなエラー/警告をスローします:
誰でもこれを回避する方法を知っていますか?私はかなり初心者なので、エラーメッセージは何の意味もないので、この手順を完了するまでチュートリアルを続行することはできません。ここで私を助けることができる人に感謝します、そして私は最も役に立つ答えを支持するでしょう。
_________________________編集:
私はこの画面にたどり着きました...私は正しいものを選択する必要があるようですが、私はこれまでこのデータベースに関するものを扱ったことがないので、ここで何をすべきか本当にわかりません
Microsoft Visual Studio 2017でのSQL Server Compact Editionデータベースファイルの作成
Microsoftは非推奨 SQL Server Compact のようですが、代わりに SQL Server Express を使用することをお勧めします。
SQL Server Compact DBデータファイルのファイル拡張子はSDFなので、使用を計画する SQL Server Express とそれに関連するMDFそのDBデータファイル。
Srini[MSFT]による投稿:2013年2月18日午前11:52
SQL Server Compact Editionは非推奨モードであり、近い将来に新しいリリースは予定されていません。前回のリリースのSQL CE 4.0SP1(およびサポートサイクルにある以前のリリース)は、そのライフサイクルを通じて引き続きサポートされます。マイクロソフトは、これらのリリースで検出された本番のブロックに関する主要な問題を修正することを約束します。現時点では、この問題はそのカテゴリに含まれるとは考えていないため、この問題をクローズします。
デスクトップ/ラップトップの展開では、SQL Server LocalDB/SQL Expressへの移行は、現在のユーザーの多くにとって可能なオプションです( http://msdn.Microsoft.com/en-us/library/hh510202.aspx )
非推奨
2013年2月、マイクロソフトはSQL Server Compact Editionが非推奨になったことを発表しました。
新しいバージョンや更新は予定されていませんが、Microsoftは標準のライフサイクルサポートポリシーを通じてSQL Compactを引き続きサポートします。このサポートは2021年7月に終了します。
SQLCE v4.0は引き続き利用可能で、繁栄しています。 Visual Studio 2019のどのエディションでも簡単に使用できます。インストールする必要はありません。アプリにバンドルされたプライベートデプロイメントとして配布できます。
このパッケージ をインストールし、プロジェクトにいくつかの構成を設定すれば、電源を切って実行できます。
Entity Framework 6.x Code First Migrationsとの相性は抜群です。私はそれを使用するアプリを何年もプロダクションで使用しています。幸せになれなかった。
これが私のデータコンテキストクラスのスニペットです。
Partial Public Class Context
Inherits DbContext
Private Sub New(Connection As SqlCeConnection, LogSql As Boolean)
MyBase.New(Connection, True)
Dim sSessionSql As String
Database.SetInitializer(New CreateDatabaseIfNotExists(Of Context))
Database.SetInitializer(New MigrateDatabaseToLatestVersion(Of Context, Migrations.Configuration))
Me.Database.Initialize(False)
If Utils.Registry.LogSql OrElse LogSql Then
sSessionSql = String.Empty
Me.Database.Log = Sub(SqlCmd As String)
sSessionSql &= SqlCmd
EventLog.WriteEntry("SQL Log", sSessionSql, EventLogEntryType.Information)
sSessionSql = String.Empty
End Sub
End If
End Sub
...
End Class
ご覧のとおり、まだ存在しない場合は、起動時に新しいデータベースが作成されます。
ワンマンISVとして、小さなユーティリティを実行するためだけに+ 60MBのインストーラーをダウンロードするように顧客に強制しなければならないとしたら、私は廃業するでしょう。