Clasificación de la información de db para el modelo MVC

asp.net-mvc c# dapper mysql

Pregunta

FindByCounty () Esta función debería ir a la base de datos y extraer la información. Almacene la información en sus respectivas clases (lo cual hace) ... pero ¿entonces qué?

public EditCountyViewModel FindByCounty(string countyName)
        {
            var parameters = new DynamicParameters();
            parameters.Add("@CountyName", value: countyName);

            var query = @"SELECT counties.id
                            , counties.CountyName
                            , counties.Website
                            , counties.Address
                            , counties.City
                            , counties.State
                            , counties.PhonePrimary
                            , counties.PhoneAlt
                            , counties.RecordsOnline
                            , counties.BackToYear
                            , counties.Cost
                            , products.ProductName
                            , products.Description
                            , countyproduct.TurnTime_MinHours
                            , countyproduct.TurnTime_MaxHours
                            , countyproduct.Price
                        FROM
                            counties, countyproduct, products
                        WHERE
                            counties.CountyName = @CountyName AND countyproduct.countiesID = counties.ID AND countyproduct.productsID = products.ID;";

            EditCountyViewModel editCountyVM = new EditCountyViewModel();
        EditProductsViewModel editProductVM = new EditProductsViewModel();
        editProductVM.ProductList = this.db.Query<Product>(query, new { countyName }).ToList();
        editCountyVM.county = this.db.Query<County>(query, new { countyName }).FirstOrDefault();


        return editCountyVM;
        }

Detalles () en HOMEcontroller Estoy pensando que debería consultar toda la información y luego usar LINQ en esta función para completar la información que necesito.

public ActionResult Details(string countyName)
    {
        var model = repository.FindByCounty(countyName);
        return View(model);
    }

A medida que mi código permanece, no se ejecuta porque en FindByCounty() devuelve solo uno de los elementos necesarios editCountyVM . Ahora podría cambiar el resultado de la función y devolver el otro editProductVM pero entonces no tendría el primer conjunto de información (editCountyVM).

Creo que el problema es el método que estoy utilizando para obtener esta información. Cualquier ayuda sería apreciada.

Respuesta aceptada

Parece que si quieres devolver tanto editCountyVM como editProductVM puedes cambiar el tipo de devolución de tu método a Tuple<EditCountyViewModel,EditProductsViewModel> . Luego haga su declaración de devolución de la siguiente manera:

return new Tuple<EditCountyViewModel,EditProductsViewModel>(editCountyVM, editProductVM);


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué