Usando o objectDataProvider como fonte de ligação fornece erro SQL
-
06-07-2019 - |
Pergunta
Tenho um problema estranho para o qual não consigo descobrir uma solução:
Eu fiz um pequeno aplicativo WPF escrito em C# que usa um banco de dados .mdf do SQL Server Express anexado que eu manipula através do LINQ.
Eu tenho um ListView no formulário em que o DataContext está definido como .DataContext = dr.FindAllBuyOrders()
que retorna um objeto de compra iQueryable. Tudo isso funciona bem. No entanto, quando faço o mesmo através do XAML com o 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>
Então eu recebo o seguinte erro:
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.
Solução
Eu encontrei a solução:
O Connectionstring foi armazenado com um caminho relativo para o banco de dados em vez do absoluto. Veja mais neste link:
Incorporar o SQL Express para usar com o LINQ ao SQL e as instâncias do usuário pode ser uma dor