Существующая база данных UWP EF Core

Я пытаюсь подключиться к существующей базе данных SQL Server с помощью приложения UWP и использую EF Core 2.2.4, но получаю следующую ошибку:

System.Data.SqlClient.SqlException: «При установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен на разрешение удаленных подключений. (поставщик: поставщик TCP, ошибка: 40 — не удалось открыть соединение с SQL Server)'

Я пытался исследовать проблему в Интернете, используя Google и просматривая форумы, но пока ничто не указывает мне на решение. Я обнаружил форму ответа '16 о том, что SQLite является единственным вариантом базы данных, поддерживаемым EF и UWP, но это было 3 года назад.

По сути, я просто пытаюсь получить список объектов таблицы, возвращаемых для отображения на моем UWP в ListView. EF Core находится в отдельном проекте с именем «DataProject» со всеми классами в папке моделей, которая добавляется как ссылка на мой проект UWP «UWPProject». Все компилируется нормально, но при отладке я получаю сообщение об ошибке 40 при попытке извлечь данные из базы данных SQL с помощью EF Core.

UWPProject - MainPage.xaml File
<Page
    x:Class = "UWPProject.MainPage"
    xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local = "using:LocalPSInvestigation"
    xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable = "d"
    xmlns:controls = "using:Microsoft.Toolkit.Uwp.UI.Controls"
    xmlns:models = "using:DataProject.Models"
    Loaded = "Page_Loaded"
    Background = "{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <StackPanel>
        <TextBlock x:Name = "textBlock" TextWrapping = "Wrap" Text = "My Complaints/Requests" VerticalAlignment = "Center" HorizontalAlignment = "Center" FontFamily = "MS Reference Sans Serif" FontSize = "24" Width = "300"/>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width = "*"/>
                <ColumnDefinition Width = "*"/>
                <ColumnDefinition Width = "*"/>
                <ColumnDefinition Width = "*"/>
                <ColumnDefinition Width = "*"/>
                <ColumnDefinition Width = "*"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height = "*"/>
                <RowDefinition Height = "*"/>
                <RowDefinition Height = "*"/>
            </Grid.RowDefinitions>
            <TextBox x:Name = "idBox" Grid.Column = "0" Grid.Row = "0" TextWrapping = "Wrap" Text = "" PlaceholderText = "ID" FontFamily = "MS Reference Sans Serif" FontSize = "12" TextAlignment = "Center" VerticalAlignment = "Center" BorderThickness = "1" Grid.ColumnSpan = "1" Margin = "0" Width = "320" />
            <TextBox x:Name = "dateBox" Grid.Column = "1" Grid.Row = "0" TextWrapping = "Wrap" Text = "" PlaceholderText = "Date" FontFamily = "MS Reference Sans Serif" FontSize = "12" TextAlignment = "Center" VerticalAlignment = "Center" BorderThickness = "1" Grid.ColumnSpan = "1" Margin = "0,0,0,0" />
            <TextBox x:Name = "addrBox" Grid.Column = "2" Grid.Row = "0" TextWrapping = "Wrap" Text = "" PlaceholderText = "Address" FontFamily = "MS Reference Sans Serif" FontSize = "12" TextAlignment = "Center" VerticalAlignment = "Center" BorderThickness = "1" Grid.ColumnSpan = "1" Margin = "0,0,0,0" />
            <TextBox x:Name = "countyBox" Grid.Column = "3" Grid.Row = "0" TextWrapping = "Wrap" Text = "" PlaceholderText = "County" FontFamily = "MS Reference Sans Serif" FontSize = "12" TextAlignment = "Center" VerticalAlignment = "Center" BorderThickness = "1" Grid.ColumnSpan = "1" Margin = "0,0,0,0" />
            <TextBox x:Name = "cityBox" Grid.Column = "4" Grid.Row = "0" TextWrapping = "Wrap" Text = "" PlaceholderText = "City" FontFamily = "MS Reference Sans Serif" FontSize = "12" TextAlignment = "Center" VerticalAlignment = "Center" BorderThickness = "1" Grid.ColumnSpan = "1" Margin = "0,0,0,0" />
            <TextBox x:Name = "phoneBox" Grid.Column = "5" Grid.Row = "0" TextWrapping = "Wrap" Text = "" PlaceholderText = "Phone" FontFamily = "MS Reference Sans Serif" FontSize = "12" TextAlignment = "Center" VerticalAlignment = "Center" BorderThickness = "1" Grid.ColumnSpan = "1" Margin = "0,0,0,0" />
            <TextBox x:Name = "searchBox" Grid.Column = "4" Grid.Row = "1" TextWrapping = "Wrap" Text = "" FontFamily = "MS Reference Sans Serif" FontSize = "12" TextAlignment = "Center" VerticalAlignment = "Center" BorderThickness = "1" Grid.ColumnSpan = "1" Margin = "0,0,0,0" />
            <TextBlock x:Name = "searchLabel" Grid.Column = "3" Grid.Row = "1" TextWrapping = "Wrap" Text = "Search:" VerticalAlignment = "Center" HorizontalAlignment = "Right" FontFamily = "MS Reference Sans Serif" FontSize = "12"/>
            <ListView Name = "Complaints" SelectionMode = "Single" ScrollViewer.VerticalScrollBarVisibility = "Auto" ScrollViewer.IsVerticalRailEnabled = "True" ScrollViewer.VerticalScrollMode = "Enabled"
                      ScrollViewer.HorizontalScrollMode = "Enabled" ScrollViewer.IsHorizontalRailEnabled = "True" ScrollViewer.HorizontalScrollBarVisibility = "Auto" Grid.Row = "2"
                      Grid.Column = "0" Grid.ColumnSpan = "6" Width = "1920" Height = "200">
                <ListView.HeaderTemplate>
                    <DataTemplate>
                        <StackPanel Orientation = "Horizontal">
                            <TextBlock Text = "ID" TextAlignment = "Center" Width = "320" />
                            <TextBlock Text = "Date" TextAlignment = "Center" Width = "320" />
                            <TextBlock Text = "Business Name" TextAlignment = "Center" Width = "200" />
                            <TextBlock Text = "Address" TextAlignment = "Center" Width = "320" />
                            <TextBlock Text = "County" TextAlignment = "Center" Width = "320" />
                            <TextBlock Text = "City" TextAlignment = "Center" Width = "240" />
                            <TextBlock Text = "Phone" TextAlignment = "Center" Width = "200" />
                        </StackPanel>
                    </DataTemplate>
                </ListView.HeaderTemplate>
                <ListView.ItemTemplate>
                    <DataTemplate x:DataType = "models:TableObject">
                        <StackPanel Orientation = "Horizontal">
                            <TextBlock Name = "ComplaintId" TextAlignment = "Center" Text = "{x:Bind ProgramComplaintId}" Width = "320"/>
                            <TextBlock Name = "Date" TextAlignment = "Center" Text = "{x:Bind Date}" Width = "320"/>
                            <TextBlock Name = "BusinessName" TextAlignment = "Center" Text = "{x:Bind BusinessName}" Width = "200"/>
                            <TextBlock Name = "Address" TextAlignment = "Center" Text = "{x:Bind Address}" Width = "320"/>
                            <TextBlock Name = "County" TextAlignment = "Center" Text = "{x:Bind County}" Width = "320"/>
                            <TextBlock Name = "City" TextAlignment = "Center" Text = "{x:Bind City}" Width = "240"/>
                            <TextBlock Name = "Phone" TextAlignment = "Center" Text = "{x:Bind Phone}" Width = "200"/>
                        </StackPanel>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </Grid>
    </StackPanel>
</Page>
UWPProject - MainPage.xaml.cs File
------------------------------------------------------------------------------
private void Page_Loaded(object sender, RoutedEventArgs e)
{
            using(var db = new dbContext())
            {
                ListViewName.ItemsSource = db.TableObject.ToList();
            }
}

------------------------------------------------------------------------------
DataProject - DBContext.cs File
------------------------------------------------------------------------------
public DbContext()
{
}

public DbContext(DbContextOptions<DbContext> options)
            : base(options)
{
}

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
            if (!optionsBuilder.IsConfigured)
            {
#warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings.
                optionsBuilder.UseSqlServer("Server=XXXXXXX;Database=XXXXX;user id=XXXXXXXXX;password=XXXXXXX");
            }
}
------------------------------------------------------------------------------

Я ожидал, что это вытащит список объектов таблицы и назначит его источнику элементов, но вместо этого я получаю сообщение об ошибке подключения. Я знаю, что указанное имя пользователя/пароль работает и что сервер и база данных существуют, потому что я использовал команду scaffold для создания классов.

Поддерживает ли UWP подключения SQL Server к EF Core? Кажется, я не могу найти ничего, что говорило бы об этом.

UWP поддерживает подключение SQL Server к EF Core. Пожалуйста, следуйте этому нить, чтобы изменить строку подключения для использования TCP/IP, чтобы увидеть, будет ли это работать.

Xie Steven 25.06.2019 08:59

Я попробовал ваше предложение, но все еще получаю указанную ошибку. Я проверил и подключился к SQL Server с TCP/IP-соединением и учетными данными. Я определенно в растерянности, я даже активировал Integrated Security, как предложил другой пользователь.

rientelfon 25.06.2019 13:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
124
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Спасибо за предложение, Ксавьер Се, но, похоже, проблема была в том, что у меня не были включены следующие возможности, как показано на рисунке ниже.

DatabaseIssue

Другие вопросы по теме