Использование ObjectDataProvider в качестве источника привязки дает ошибку SQL - PullRequest
1 голос
/ 24 октября 2009

У меня странная проблема, для которой я не могу найти решение:

Я сделал небольшое приложение WPF, написанное на C #, которое использует подключенную базу данных SQL Server Express .mdf, которым я затем манипулирую через LINQ.

У меня в форме ListView, для которого datacontext установлено значение .DataContext = dr.FindAllBuyOrders(), которое возвращает объект IQueryable BuyOrder. Это все отлично работает. однако, когда я делаю то же самое через xaml с 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>

тогда я получаю следующую ошибку:

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.

1 Ответ

2 голосов
/ 24 октября 2009

Я нашел решение:

Строка подключения хранилась с относительным путем к базе данных вместо абсолютного. Подробнее по этой ссылке:

Встраивание SQL Express для использования с Linq to SQL и пользовательскими экземплярами может быть затруднительным

...