обращать объект одной модели в другую модель

У меня есть проблема, когда равные модели хотят обратить объект в другой будучи этими, но в различном namespace.

Объясняясь лучше, у меня есть два проекта в решении каждый с Вашей моделью, в которой у меня есть эта повторенная модель (AdminModel) я перемещаю эту переменную Session и конвертировать это

Восток - начальная модель объекта.

namespace Admin.ModeloAdmin{

    public class AdminModel
    {
        public string devKey { get; set; }
        public string mobileKey { get; set; }
        public string cuenta { get; set; }
        public int idCliente { get; set; }
        public int idCuenta { get; set; }
        public int idEmpresa { get; set; }
        public int regreso { get; set; }
    }
}

Я хочу обратить это в эту другую модель

namespace User.ModeloAdmin{

    public class AdminModel
    {
        public string devKey { get; set; }
        public string mobileKey { get; set; }
        public string cuenta { get; set; }
        public int idCliente { get; set; }
        public int idCuenta { get; set; }
        public int idEmpresa { get; set; }
        public int regreso { get; set; }
    }
}

Но захотев конвертировать это, меня помечает ошибка в следующей линии:

AdminModel sesionManage = (AdminModel) Session["sessionManage"];

Как я могу перемещать другой данные об одной модели?

это сообщение ошибки:

Ошибка сервера в приложении '/'.

Не возможно конвертировать объект типа 'AdmixDescargas. Models. AdminModel' в тип 'DescargaSU.Models. AdminModel'.

Описание: Исключение, не контролируемое, выполнив Веб настоящий запрос. Проверьте следование батарейки, чтобы получать больше информации относительно ошибки, и где он породился в коде.

Детали исключения: System. InvalidCastException: Не возможно конвертировать объект типа 'AdmixDescargas. Models. AdminModel' в тип 'DescargaSU.Models. AdminModel'.

Ошибка исходного кода:

Линия 31: else

Линия 32: {

Линия 33: sesionManage = (Админмодэль) Ттпконтекст. Session ["sessionManage"];

Линия 34: }

Линия 35:

Исходный файл: C:\Users\juan.gonzalez\Documents\JuanGonzalez\PruebasMVC\AdmixPortal\AdmixDescargas\AdmixDescargas\Areas\DescargaSU\Controllers\InicioController.cs Линия: 33

Следование батарейки:

[InvalidCastException: Не возможно конвертировать объект типа 'AdmixDescargas. Models. AdminModel' в тип 'DescargaSU.Models. AdminModel'.] DescargaSU.Controllers. InicioController. Index (Стринг Сесион) in C:\Users\juan.gonzalez\Documents\JuanGonzalez\PruebasMVC\AdmixPortal\AdmixDescargas\AdmixDescargas\Areas\DescargaSU\Controllers\InicioController.cs:33 lambda_method (Closure, ControllerBase, Object []) +103 System. Веб. Mvc. ActionMethodDispatcher. Execute (ControllerBase controller, Object [] parameters) +14 System. Веб. Mvc. ReflectedActionDescriptor. Execute (ControllerContext controllerContext, IDictionary '2 parameters) +157 System. Веб. Mvc. ControllerActionInvoker. InvokeActionMethod (ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary' 2 parameters) +27 System. Веб. Mvc. Async. AsyncControllerActionInvoker.b __ 39 (IAsyncResult asyncResult, ActionInvocation innerInvokeState) +22 System. Веб. Mvc. Async. WrappedAsyncResult '2. CallEndDelegate (IAsyncResult asyncResult) +29 System. Веб. Mvc. Async. WrappedAsyncResultBase' 1. End () +49 System. Веб. Mvc. Async. AsyncControllerActionInvoker. EndInvokeActionMethod (IAsyncResult asyncResult) +32 System. Веб. Mvc. Async. AsyncInvocationWithFilters.b __ 3d () +50 System. Веб. Mvc. Async. <> c __ DisplayClass46.b __ 3f () +225 System. Веб. Mvc. Async. <> c __ DisplayClass33.b __ 32 (IAsyncResult asyncResult) +10 System. Веб. Mvc. Async. WrappedAsyncResult '1. CallEndDelegate (IAsyncResult asyncResult) +10 System. Веб. Mvc. Async. WrappedAsyncResultBase' 1. End () +49 System. Веб. Mvc. Async. AsyncControllerActionInvoker. EndInvokeActionMethodWithFilters (IAsyncResult asyncResult) +34 System. Веб. Mvc. Async. <> c __ DisplayClass2b.b __ 1c () +26 System. Веб. Mvc. Async. <> c __ DisplayClass21.b __ 1e (IAsyncResult asyncResult) +100 System. Веб. Mvc. Async. WrappedAsyncResult '1. CallEndDelegate (IAsyncResult asyncResult) +10 System. Веб. Mvc. Async. WrappedAsyncResultBase' 1. End () +49 System. Веб. Mvc. Async. AsyncControllerActionInvoker. EndInvokeAction (IAsyncResult asyncResult) +27 System. Веб. Mvc. Controller.b __ 1d (IAsyncResult asyncResult, ExecuteCoreState innerState) +13 System. Веб. Mvc. Async. WrappedAsyncVoid '1. CallEndDelegate (IAsyncResult asyncResult) +29 System. Веб. Mvc. Async. WrappedAsyncResultBase' 1. End () +49 System. Веб. Mvc. Controller. EndExecuteCore (IAsyncResult asyncResult) +36 System. Веб. Mvc. Controller.b __ 15 (IAsyncResult asyncResult, Controller controller) +12 System. Веб. Mvc. Async. WrappedAsyncVoid '1. CallEndDelegate (IAsyncResult asyncResult) +22 System. Веб. Mvc. Async. WrappedAsyncResultBase' 1. End () +49 System. Веб. Mvc. Controller. EndExecute (IAsyncResult asyncResult) +26 System. Веб. Mvc. Controller. System. Веб. Mvc. Async. IAsyncController. EndExecute (IAsyncResult asyncResult) +10 System. Веб. Mvc. MvcHandler.b __ 5 (IAsyncResult asyncResult, ProcessRequestState innerState) +21 System. Веб. Mvc. Async. WrappedAsyncVoid '1. CallEndDelegate (IAsyncResult asyncResult) +29 System. Веб. Mvc. Async. WrappedAsyncResultBase' 1. End () +49 System. Веб. Mvc. MvcHandler. EndProcessRequest (IAsyncResult asyncResult) +28 System. Веб. Mvc. MvcHandler. System. Веб. IHttpAsyncHandler. EndProcessRequest (IAsyncResult result) +9 System. Веб. CallHandlerExecutionStep. System. Веб. HttpApplication. IExecutionStep. Execute () +9765121 System. Веб. HttpApplication. ExecuteStep (IExecutionStep step, Boolean& completedSynchronously) +155

1
задан 08.02.2017, 17:35
1 ответ

LogrГ© получать одинокое то же самое что возможно менее оптимальным способом.

Как это практически равные классы, просто последовательно преобразовал и после deserializo используя другой класс.

//Creamos objeto de Admin.ModeloAdmin.AdminModel
var adminModel1 = new Admin.ModeloAdmin.AdminModel(ObjetoAdminModel1);

//Serializamos adminModel1 
var adminModel1Serializado = JsonConvert.SerializeObject(adminModel1);

//Deserializamos usando User.ModeloAdmin.AdminModel
var adminModel2Deserializado = JsonConvert.DeserializeObject<User.ModeloAdmin.AdminModel>>(adminModel1Serializado);

//Obtenemos el objeto User.ModeloAdmin.AdminModel
User.ModeloAdmin.AdminModel adminModel2 = adminModel2Deserializado;

не идеальное, но если он функциональный

1
ответ дан 24.11.2019, 11:14