Question

J'ai un problème étrange pour lequel je n'arrive pas à trouver une solution pour:

J'ai créé une petite application WPF écrite en C # qui utilise une base de données .mdf SQL Server Express attachée que je manipule ensuite via LINQ.

J'ai un ListView sur le formulaire dont datacontext est défini sur .DataContext = dr.FindAllBuyOrders () qui renvoie un objet IQueryable BuyOrder. Tout cela fonctionne bien. Cependant, lorsque je fais la même chose via xaml avec 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>

alors j'obtiens l'erreur suivante:

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.
Était-ce utile?

La solution

J'ai trouvé la solution:

La chaîne de connexion a été stockée avec un chemin relatif vers la base de données au lieu du chemin absolu. Voir plus sur ce lien:

L’incorporation de SQL Express à utiliser avec Linq to SQL et les instances d’utilisateur peut s'avérer ardue

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top