如何将一个表数据与另一个表数据匹配,然后显示匹配的数据? ASP.NET MVC

问题描述

我是asp.net mvc的新手,我正在努力找出执行以下操作的正确方法: 我的问题涉及数据库中的3个表

  • 城市
  • 客户
  • Conciege(服务提供商)

当我的用户注册时,我需要创建一个显示两个内容的欢迎页面

  1. 礼宾名称
  2. 礼宾照片

为此,我需要在用户注册他们输入的城市并将其与我的门房服务的城市匹配后显示1和2时检查数据库

这是我到目前为止所拥有的:

控制器:

        public async Task<List<ServiceProviders_vs_LocationsModel>> GetConciege()
    {
        try
        {

            HttpResponseMessage response = client.GetAsync("GetConciege").Result;

            var stringcontent = await response.Content.ReadAsstringAsync();

            if (response.IsSuccessstatusCode)
            {
                List<ServiceProviders_vs_LocationsModel> Result = JsonConvert.DeserializeObject<List<ServiceProviders_vs_LocationsModel>>(stringcontent);

                return Result;
            }
            return null;
        }
        catch (Exception e)
        {
            throw e;
        }
    }

型号:

    public class ServiceProviders_vs_LocationsModel
{
    public int LocationID { get; set; }
    public int ServiceProviderID { get; set; }
}

查看:

    <ContentPage.Content>

    <Grid>
        <Grid.RowDeFinitions>
            <RowDeFinition Height="50"/>
            <RowDeFinition Height="*"/>
        </Grid.RowDeFinitions>

        <StackLayout Grid.Row="0" Orientation="Horizontal" Padding="5">
            <Image Source="{local:ImageResource MyApp.Images.Sub_logo_icon.png}" WidthRequest="40" HeightRequest="40" Margin="10,10,0" />
            <Label
                FontFamily="AnimalCrossing"
                FontSize="30"
                HorizontalOptions="Center"
                Text="Welcome To hey Maggie"
                VerticalOptions="Center" />
        </StackLayout>

        <ScrollView HorizontalOptions="Center" Grid.Row="1">
            <ScrollView.VerticalOptions>
                <OnIdiom x:TypeArguments="Layoutoptions"
                         Default="CenterandExpand"
                         Phone="FillAndExpand" />
            </ScrollView.VerticalOptions>


            <StackLayout
                Spacing="0"
                VerticalOptions="FillAndExpand"
                WidthRequest="{OnPlatform Default='-1'}" Margin="30,30,0">



                <Grid RowSpacing="10" VerticalOptions="StartAndExpand">
                    <Grid.RowDeFinitions>
                        <RowDeFinition Height="Auto" />
                        <RowDeFinition Height="Auto" />
                        <RowDeFinition Height="Auto" />
                        <RowDeFinition Height="Auto" />
                        <RowDeFinition Height="Auto" />
                        <RowDeFinition Height="Auto" />
                        <RowDeFinition Height="Auto" />
                        <RowDeFinition Height="Auto" />
                        <RowDeFinition Height="Auto" />
                    </Grid.RowDeFinitions>

                    <StackLayout Grid.Row="0" Orientation="Horizontal" Padding="5">
                        <Image Source="{local:ImageResource MyApp.Images.Sub_logo_icon.png}" WidthRequest="40" HeightRequest="40" Margin="60,50,0" />
                    </StackLayout>
                    <!--conciege photo loaded here-->

                    <StackLayout Grid.Row="6" HorizontalOptions="FillAndExpand" Orientation="Horizontal" >
                        <Label VerticalTextAlignment="Center" >Your Friendly Conciege Will Be</Label> 
                    </StackLayout>
                    <!--conciege name loaded here-->


                    <Button Style="{DynamicResource PrimaryButton}" Grid.Row="7" Text="Sign Up" HeightRequest="50" Clicked="GetStarted_Clicked" />


                </Grid>

            </StackLayout>

        </ScrollView>
    </Grid>


</ContentPage.Content>

View.cs:

        public WelcomePage()
    {
        InitializeComponent();
    }

    private void GetStarted_Clicked(object sender,EventArgs e)
    {
        App.Current.MainPage = new Views.Dashboard();//navigates to dashboard
    }
}

我可以阅读和理解代码,但是很难编写我希望程序执行的操作/很难在Google上获得正确的结果。 请帮助初级开发人员使用XP

解决方法

这可以通过在c#代码中使用linq来完成。