ObjectDataProviderをバインディングソースとして使用するとSQLエラーが発生する

StackOverflow https://stackoverflow.com/questions/1617718

質問

次の解決策を見つけられない奇妙な問題があります:

添付のSQL Server Express .mdfデータベースを使用するC#で記述された小さなWPFアプリを作成し、LINQで操作します。

フォーム上にdatacontextが .DataContext = dr.FindAllBuyOrders()に設定され、IQueryable BuyOrderオブジェクトを返すListViewがあります。これはすべて正常に動作します。ただし、ObjectDataProviderでxamlを使用して同じことを行う場合:

<ObjectDataProvider MethodName="FindAllBuyOrders" ObjectType="{x:Type local:DataRepository}" x:Key="dataBuyOrders" />

<ListView Name="listViewBuyOrders" VerticalContentAlignment="Top" ItemsSource="{Binding Source={StaticResource dataBuyOrders}}" ItemTemplate="{StaticResource listViewBuyOrders}">
    <ListView.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel />
        </ItemsPanelTemplate>
    </ListView.ItemsPanel>
</ListView>

次のエラーが表示されます:

An attempt to attach an auto-named database for file 
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Data.mdf 
failed. A database with the same name exists, or specified file 
cannot be opened, or it is located on UNC share.
役に立ちましたか?

解決

解決策を見つけました:

接続文字列は、絶対パスではなくデータベースへの相対パスで保存されました。このリンクで詳細をご覧ください:

Linq to SQLおよびユーザーインスタンスで使用するSQL Expressを埋め込むのは面倒な場合があります

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top