- 타 DB와 호환성을 맞추기 위해 기존에 생성한 Create컬럼의 데이터 타입을 DataTimeOffset에서 DateTime으로 변경.
- Video.cs 모델, DB프로젝트에서 해당하는 Video테이블에서 Create 컬럼의 데이터 타입 변경
- 이후 게시를 하면 데이터 크기가 큰것에서 작은것으로 변경하여 에러가 발생 하며 이때 sql management혹은 visualstudio 서버탐색기에서 DB로 접근해 강제로 컬럼 타입 변경 후 게시하면 게시완료.
이 방법 외에도 새로운 테이블을 만들고 데이터를 복사 한 후 변경 등 방법은 여러가지 있음..!
변경전
변경후
게시를 하면 아래와 같은 에러 발생.
sql 탐색기에서 강제로 변경 후 업데이트 버튼 클릭
업데이트 진행
using System;
namespace VideoAppCoreModels.Common
{
public class AuditableBase
{
/// <summary>
/// 생성시간
/// </summary>
public DateTime Created { get; set; }
/// <summary>
/// 생성자
/// </summary>
public string CreateBy { get; set; }
/// <summary>
/// 수정일
/// </summary>
public DateTime Modified { get; set; }
/// <summary>
/// 수정자
/// </summary>
public string ModifiedBy { get; set; }
}
}
using VideoAppCoreModels.Common;
namespace VideoAppCoreModels
{
/// <summary>
/// [2] 테이블 생성 후 대응 모델 생성.
/// 통상적으로 모델 사용하는 명칭. 테이블명이 Videos일 경우
/// video,videoModel,videoViewModel,videoBase,videoEntity,videoDto,....
/// </summary>
public class Video : AuditableBase
{
/// <summary>
/// ID
/// </summary>
public int Id { get; set; }
//public DateTimeOffset Created { get; set; }
/// <summary>
/// 강의 제목
/// </summary>
public string Title { get; set; }
/// <summary>
/// 동영상 URL 경로
/// </summary>
public string Url { get; set; }
/// <summary>
/// 생성자
/// </summary>
public string Name { get; set; }
/// <summary>
/// 회사
/// </summary>
public string Company { get; set; }
}
}
CREATE TABLE [dbo].[Videos]
(
[Id] INT NOT NULL identity(1,1) PRIMARY KEY
,Title nvarchar(255) not null -- 제목
,Url nvarchar(max) not null -- URL
,Name nvarchar(50) null --이름
,Company nvarchar(255) null --회사
,Created DateTime Default(GetDate()) --생성일(작성일)
,CreateBy Nvarchar(255) null -- 생성자
,Modified DateTime Default(getDate()) null -- 수정일
,ModifiedBy Nvarchar(255) null -- 수정자
)
게시 후 프로필 로드
videoAppcoreSqlServer.publish.xml 선택