본문 바로가기
반응형

.Net49

.NET/MVC - LINQ Compare DateTime MVC를 이용할 경우 LINQ 를 이용해서 Database를 조작 하게된다. 일반적으로 조건 쿼리는 Whare 절에 => 구분을 통해 식별하고자 하는 컬럼을 가상화하여 비교하거나 조건을 걸 수 있다. var data = dbModel.db.Where(p => p.id == item.id).ToList(); 그런데 DateTime 같은 경우 다음과 같이 사용하게 되면, 코드상에서는 문제가 없지만 실제 구동시 오류가 발생한다. var data = dbModel.db.Where(p => p.date >= DateTime.UtcNow.AddDays(-30)).ToList(); 위 코드의 오류 내용을 보면, DateTime을 LINQ 안에 직접 선언해서 발생하는 문제로 보인다. System.NotSupported.. 2024. 2. 23.
.NET/C# - CS1555-Main 메서드에 지정된을(를) 찾을 수 없습니다. 위 오류는 프로그램을 시작하는 Main Entry point를 검색할 수 없을 때 나타납니다. 영문으로는 아래 정도로 표현할 수 있을것 같아요. Could not find xxxx.Program specified for main method CS1555 C# Main 메서드에 지정된을(를) 찾을 수 없습니다. https://docs.microsoft.com/ko-kr/dotnet/csharp/misc/cs1555 이는 프로젝트 설정에서 응용 프로그램 –> 시작 개체에서 설정 할 수 있습니다. 시작 개체는 프로그램 실행시 가장 처음 실행하는 함수라고 생각하시면 됩니다. 기본적으로는 Main이 프로그램 시작 함수 입니다. 다만 Windos From으로 구성하는 경우, 업데이트를 먼저 실행하기 위해 Main을.. 2024. 2. 20.
MVC - EntityFramework 동시성 충돌, 동일한 유형의 다른 엔티티가 이미 동일한 기본 키 값 사용 MVC에서 EntityFrameWork 를 사용하다 보면, 데이터를 업데이트할 때 다음과 같은 오류를 확인 할 수 있습니다. EntityFramework Error 동일한 유형의 다른 엔티티가 이미 동일한 기본 키 값을 가지고 있기 때문에 { ‘Attach’메서드를 사용하거나 엔티티의 상태를 ‘Unchanged’또는 ‘Modified’로 설정하면 { ”xxxx ‘유형의 엔티티를 연결하는 데 실패했습니다. ‘그래프에있는 엔티티 중 하나의 엔티티가 충돌하는 키 값을 가지고있는 경우 이는 일부 엔티티가 새롭고 아직 데이터베이스 생성 키 값을받지 못했기 때문일 수 있습니다이 경우’추가 ‘메소드 또는’추가됨 ‘엔티티 상태를 사용하여 그래프를 작성한 다음 비 신규 엔티티의 상태를 ‘변경되지 않음’또는 ‘수정 됨’으.. 2024. 2. 20.
MVC - MYSQL, 최대 길이가 ‘250’인 문자열 또는 배열 형식이어야 합니다. .NET MVC에서 MYSQL을 연결하여 데이터베이스에 기록을 하다보면, 다음과 같은 오류를 만날 수 있습니다. Message “하나 이상의 엔터티에 대해 유효성을 검사하지 못했습니다. 자세한 내용은 ‘EntityValidationErrors’ 속성을 참조하십시오.” Exception 위 오류를 확인 하였을 때 보통 MYSQL의 제한에 의해 발생하는 오류로 아래 경로를 따라 들어가면 확인 할 수 있습니다. ex → EntityValidationErrors → ValidationErrors → [0] → ErrorMessage 여기에서 오늘 특이하게 경험한 오류코드는 다음과 같습니다. ErrorMessage “필드 xxx(는) 최대 길이가 ‘250’인 문자열 또는 배열 형식이어야 합니다.” 위 오류코드는 .. 2024. 2. 20.
MVC/.NET - 조건에 따라 다른 CSS를 보여주고자 할 때 MVC 개발시 조건에 따라 다른 CSS를 보여주고자 할 때 유용하다. 아래는 아이템이 있을 때와 없을 때에 따라서 다른 CSS를 적용한다. @if (item.service == 0) { @Html.DisplayFor(modelItem => item.service) ms } else { @Html.DisplayFor(modelItem => item.service) ms } 또다른 true 혹은 false. 일때 아래처럼 사용 할 수 있다. @Html.DisplayFor(modelItem => item.ping) ms 2024. 2. 19.
.NET - HtmlAgilityPack SelectNodes에서 다중 클래스 찾기 contains 요즘 HTML 을 가지고 자동화를 하고자 한다면, HtmlAgilityPack이 .Net에서는 많이 사용된다. 클래스를 찾는 방법으로, 단순한 구조의 html이라면 괜찮지만 조금 복잡하게 여러개의 class가 선언 된 경우 효과적으로 사용할 수 있는 contains에 대해 짧게 정리해 본다. 먼저 HtmlAgilityPack 에서 노드를 찾는 기능은, SelectNodes로 가능하다. SelectNodes 그리고 기본적으로 검색 방법은 Xpath 방식을 이용하는데, 앞서 구분자 a, div 등 꺽쇠를 제외한 구분자와 내부 검색하고자 하는 Key와 Value를 지정해주면 된다. 기본적으로 아래와 같은 조건으로 사용할 수 있다. # body가 들어간 노드 찾기 var body = html.DocumentNo.. 2022. 11. 11.
.NET - MySqlCommand'Character set 'utf8mb3' is not supported by .Net Framework.' 오류 해결 오랫만에 .NET 코드를 사용하니 아래와 같은 오류가 발생한다. 'Character set 'utf8mb3' is not supported by .Net Framework.' 이 문제는 utf8을 현재 라이브러리에서 지원하지 않기 때문에 발생한다. 라이브러리 Update를 통해 해결하는 방법이 정석이겠지만, 가장 쉬운 방법은 Database에서 utf16_general_ci로 변경하는 것이다. MySQLCommand 구분에 다음 명령으로 Character Set을 변경할 수 있다. "SET character_set_results=utf8 "을 통해 utf8으로 문자열을 설정하도록 하자. (1회만 진행하면 유지된다.) MySqlCommand cmd = new MySqlCommand("SET characte.. 2022. 11. 11.
.NET - MAUI 6.0 서비스 배포 22년10월11일 업데이트인 Visual Studio 2022 version 17.3.6 버전 에 MAUI 6.0 버전이 배포되었다. .NET MAUI 6.0는 멀티 플랫폼을 지원하는 언어로, 안드로이드, 아이폰, 윈도우, Mac 에서 동작이 가능한 단일 프로젝트를 만들 수 있다. 마이크로소프트는 멀티 플랫폼을 지원하기 위해서 다년간 OS부터 프로그램 언어까지 노력을 아끼지 않았는데, MAUI가 오랜 시간 동안 준비한 만큼 어떤 기능을 개발할 수 있을 지 기대된다. .NET MAUI 6.0을 사용하기 위해서는 먼저 업데이트를 진행해야 한다. 이후 기능 추가를 통해서 .NET MAUI 6.0 기능을 추가하면 탬플릿에서 MAUI 템플릿을 통한 개발을 진행할 수 있다. 에뮬레이터를 통해 다른 플랫폼에서 동작하.. 2022. 10. 14.
MySQL - 해결 mysql_native_password failed with message MySQL 사용시 mysql_native_password가 발생하는 경우가 있다. 이경우는 보통 유저의 권한이 충분하지 않은 경우 발생하기 때문에, 우선 root를 이용하여 로그인이 정상적으로 되는지 확인해보고 조치해보기를 권장한다. root로 정상 접근이 된다면, 아래오 같이 특정 계정에 대해 권한을 전체로 넣어주도록 하자. 예제에서는 blueit라는 계정이다. mysql> grant all privileges on *.* to 'blueit'@'%' identified by 'password'; mysql> flush privileges; 2022. 9. 29.
반응형