Usar ObjectDataProvider como fuente de enlace da error de SQL
-
06-07-2019 - |
Pregunta
Tengo un problema extraño por el que no puedo encontrar una solución para:
He creado una pequeña aplicación WPF escrita en C # que utiliza una base de datos .mdf de SQL Server Express adjunta que luego manipulo a través de LINQ.
Tengo un ListView en el formulario cuyo datacontext se establece en .DataContext = dr.FindAllBuyOrders ()
que devuelve un objeto IQueryable BuyOrder. Todo esto funciona bien. sin embargo, cuando hago lo mismo a través de 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>
luego me aparece el siguiente error:
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.
Solución
Encontré la solución:
La cadena de conexión se almacenó con una ruta relativa a la base de datos en lugar de la absoluta. Ver más en este enlace:
Incrustar SQL Express para usar con Linq en SQL y las instancias de usuario pueden ser una molestia