DB 설정 관련해서 질문 드립니다
424
작성한 질문수 2
[Table("UserTable")]
public class UserData
{
[Key] public string UserId { get; set; }
public string? Token { get; set; }
[MaxLength(32)]
public string? UserName { get; set; }
public DateTime? CreateTime { get; set; }
public BanData? Ban { get; set; }
public ICollection<MailData> OwnMails { get; set; }
public ICollection<GetMailData> GetMails { get; set; }
}
[Serializable] public class BanData
{
public DateTime Start { get; set; }
public DateTime End { get; set; }
public int State { get; set; }
public string DescKey { get; set; }
// Foreign Key
public string UserId { get; set; }
public UserData User { get; set; }
}
public class MailData
{
/// <summary> 우편물 구분 값 </summary>
[Key] public long Id { get; set; }
/// <summary> 발송일 </summary>
public DateTime SendDate { get; set; }
/// <summary> 우편물 받아야하는 기간 </summary>
public DateTime EndDate { get; set; }
/// <summary> 우편 내용물 </summary>
public string Body { get; set; }
/// <summary> 보낸이 ex)GM, DEV 등등 </summary>
public string Sender { get; set; }
// Foreign Key
public string UserId { get; set; }
public UserData User { get; set; }
}
/// <summary> 우편물 획득 시 </summary>
public class GetMailData
{
/// <summary> 우편물 구분 값 </summary>
[Key] public long Id { get; set; }
/// <summary> 우편물 시간제한에 의한 삭제 </summary>
public bool IsTimeOut { get; set; }
/// <summary> 받은 날 </summary>
public DateTime GetDate { get; set; }
/// <summary> 우편 내용물 </summary>
public string Body { get; set; }
/// <summary> 보낸이 ex)GM, DEV 등등 </summary>
public string Sender { get; set; }
// Foreign Key
public string UserId { get; set; }
public UserData User { get; set; }
}
이렇게 SharedData.Models 정의를 해서
사용을 하고자 합니다 UserData에서만 DB 컬럼으로 활용을 하고싶습니다
ApplicationDbContext.cs
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Ignore<BanData>();
modelBuilder.Ignore<MailData>();
modelBuilder.Ignore<GetMailData>();
}
에는 DB로 만들어지지 않았으면 해서 예외처리를 추가했습니다
UserTable
UserId
Token
UserName
CreateTime
BanData Ban
ICollection<MailData> OwnMails
ICollection<GetMailData> GetMails
이런식으로 생성하게 하려면 어떻게해야 하나요?
답변 3
0
자답입니다
UserData user = UserDatas
.Where(user => user.UserId == userId)
.Include(user => user.MailDatas)
.Include(user => user.GetMailDatas)
.Include(user => user.BanData)
.FirstOrDefault();
위 질문처럼 포렌키로 처리를 하고 나서 DB에서 긁어올때 이렇게 연동처리를 하면 정상적으로 처리되는것으로 확인했습니다
0
넵 우선 감사합니다
제가 원하는 것은
DB에 MailData, BanData, GetMailData가 생성되지 않고
UserTable에만 존재했으면 하는 겁니다
{
"UserId":"ID",
"Token": null,
"UserName":"Name",
"Ban":{
벤 정보
},
"OwnMails":[
{
아이템 정보 1
},
{
아이템 정보 2
}
],
"GetMails":[]
}
이런식으로 UserTable에 값이 들어갈 수 있는 방법이 있는지 궁금합니다 만약 불가능하다면
GetMailData, MailData, BanData 도 DB Table에 포함이 되어 포렌키로 사용을 해야하는지도요
감사합니다
0
안녕하세요, 인프런 AI 인턴입니다.
질문하신 내용과 관련하여 유사한 문제를 해결한 기존 답변을 찾았습니다.
강의 “[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버”에서 다루고 있는 Entity Framework Core의 모델링과 관련된 질문이 있는데요, Rookiss 강사님이 EF 모델링에 관한 노트 영상을 만들어 놓으셨다고 합니다. 이 노트 영상에서는 모델에 인덱스를 추가하는 방법뿐만 아니라 다양한 모델링 관련 내용을 다루고 있으므로 참고하실 수 있을 것 같습니다.
- 해당 답변 URL: Db model 에 index 추가 및 Identity관련
- 강사님 답변 내용 요약: EF 모델링에 관한 노트 영상을 참고하시기 바랍니다. 해당 영상에서 모델에 인덱스를 추가하는 방법을 포함해 다양한 모델링 관련 내용을 다루고 있습니다.
더 자세한 내용을 원하신다면 위 링크를 방문하여 강사님의 답변을 확인하시는 것이 좋을 것 같습니다.
클래스 라이브러리 (.NET Core)이 없으면 클래스 라이브러리 선택하시면 됩니다.
0
131
1
NET 9.0 버전에서의 레이아웃 적용
1
170
1
Visual Studio 2022에서 프로젝트 만들기 질문
0
314
2
MVC를 제대로 이해를 못했는데,
0
173
1
ASP.NET
0
151
1
LING #1 에서.. 서버 GC문제
0
263
3
자바스크립트 내용이 나오나요?
0
170
1
웹 사이트 보안
0
212
2
blazor실습 시 바인딩 관련 및 버튼이 동작하지 않는 이슈가 있으면? ( .NET 8.0 기준 )
3
373
1
Uri함수 파라미터 주소에 sslport번호를 넣으면 무한 로딩이걸림
0
497
2
An unhandled exception has occured. See browser dev tools for detail.
0
341
2
EFCore 포렌키 설정 관련 질문(Entity Framework Code First One-to-Many Relationship)
0
364
3
10분 48초 부근에 안 되는 사람들 참고하세요
1
548
1
ArgumentException: Keyword not supported: 'trust server certificate'.
0
859
1
Need Summary 부분 질문있습니다!
0
311
1
계속 똑같은 에러가 뜹니다 ㅠㅠ
0
489
1
이번 강의 코드를 받을 수 있을까요?
0
371
1
ATOM이 2022년 12월 15일 기준 종료되었네요
0
565
1
CounterState 질문입니다.
0
401
1
"연결이 비공개로 설정되어 있지 않습니다." 오류가 뜰 경우
0
1824
2
백엔드 서버에 JPA를 사용해도 문제가 없을까요?
0
569
1
SendPostRequest 에서 POST 중복된 값이 추가되는 것을 방지하려면 어떻게 하면 될까요?
0
457
1
Task<WeatherForecast[]> 를 List<Task<WeatherForecast>> 이렇게 고친 후
0
399
1
웹서버로 턴제 카드게임 구현가능할까요?
0
1628
1





