L'uso di ObjectDataProvider come origine dell'associazione genera un errore SQL
-
06-07-2019 - |
Domanda
Ho uno strano problema per cui non riesco a trovare una soluzione per:
Ho creato una piccola app WPF scritta in C # che utilizza un database .mdf di SQL Server Express collegato che poi gestisco tramite LINQ.
Ho un ListView sul modulo su cui datacontext è impostato su .DataContext = dr.FindAllBuyOrders ()
che restituisce un oggetto IQueryable BuyOrder. Funziona tutto bene. tuttavia, quando faccio lo stesso tramite xaml con ObjectDataProvider:
<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>
quindi ricevo il seguente errore:
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.
Soluzione
Ho trovato la soluzione:
La stringa di connessione è stata memorizzata con un percorso relativo al database anziché quello assoluto. Vedi di più a questo link:
Incorporare SQL Express da utilizzare con Linq to SQL e le istanze utente può essere un problema