ObjectDataProviderをバインディングソースとして使用するとSQLエラーが発生する
-
06-07-2019 - |
質問
次の解決策を見つけられない奇妙な問題があります:
添付の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.
解決
解決策を見つけました:
接続文字列は、絶対パスではなくデータベースへの相対パスで保存されました。このリンクで詳細をご覧ください:
所属していません StackOverflow