• Entity Framework - как обновить только одну сущность?

    chydaya
    @chydaya
    Необходимо как-то обновить только 1 сущность (то есть 1 таблицу заполнить данными из базы). Например, изменили что-то в базе вне программы и только в одной таблице, как мне обновить только 1 таблицу

    не знаю как работает Entity, но по опыту работы в более адекватных ORM, если что-то изменили в базе, то при обращении к сущности, которая описывает таблицу, данные будут актуальные и без пересоздания ..
    Ответ написан
    1 комментарий
  • Как получить один из передаваемых параметров?

    chydaya
    @chydaya
    Во-первых, никаких параметров в твоем коде не передается никуда, кроме как в атрибуты линка.
    Во-вторых, если нужен один параметр, так передавай один параметр
    @Html.ActionLink("Вход", "Dialog", new { data_dialog_id = "entry" },
    
                                   new
                                   {
                                       @class = "openDialog",
                                       data_dialog_id = "entry",
                                       data_dialog_title = "Вход",
                                       data_dialog_width = "auto",
                                       data_dialog_height = "auto"
                                   })
    							   
    public ActionResult Index(string data_dialog_id){
    ...
    }
    Ответ написан
    Комментировать
  • C# - как перевести строку в utf16 и сделать маршалинг?

    chydaya
    @chydaya
    например, написать структуру с нашей строкой
    struct StructWithStr
    {
    	[MarshalAs(UnmanagedType.ByValTStr, SizeConst = SIZE_CONST)]
    	public string OurStr; 
    }

    заполнить ее нужной строкой
    написать хелпер сохранения структуры в указатель
    public static class UnMemory<T> where T : struct
    {
        public static void SaveInMem(T memoryObject, ref IntPtr ptr)
        {
            if (default(T).Equals(memoryObject))
            {
                // объявляем указатель на кусок памяти
                ptr = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(T)));
                return;
            }
            if (ptr == IntPtr.Zero)
            {
                // объявляем указатель на кусок памяти
                ptr = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(T)));
                // записываем в память данные структуры
                Marshal.StructureToPtr(memoryObject, ptr, false);
    	}
            else
            {
                // записываем в память данные структуры
                Marshal.StructureToPtr(memoryObject, ptr, true);
            }
        }
    }

    передать IntPtr в библиотеку
    Ответ написан
    Комментировать