DefaultDbContextModelSnapshot.cs 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665
  1. // <auto-generated />
  2. using System;
  3. using Microsoft.EntityFrameworkCore;
  4. using Microsoft.EntityFrameworkCore.Infrastructure;
  5. using Microsoft.EntityFrameworkCore.Metadata;
  6. using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
  7. #nullable disable
  8. namespace bitforum.Migrations.DefaultDb
  9. {
  10. [DbContext(typeof(DefaultDbContext))]
  11. partial class DefaultDbContextModelSnapshot : ModelSnapshot
  12. {
  13. protected override void BuildModel(ModelBuilder modelBuilder)
  14. {
  15. #pragma warning disable 612, 618
  16. modelBuilder
  17. .HasAnnotation("ProductVersion", "8.0.0")
  18. .HasAnnotation("Relational:MaxIdentifierLength", 128);
  19. SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
  20. modelBuilder.Entity("bitforum.Models.Config", b =>
  21. {
  22. b.Property<int>("ID")
  23. .ValueGeneratedOnAdd()
  24. .HasColumnType("int");
  25. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  26. b.Property<DateTime>("CreatedAt")
  27. .HasColumnType("datetime2");
  28. b.Property<string>("Description")
  29. .HasColumnType("nvarchar(max)");
  30. b.Property<string>("Key")
  31. .IsRequired()
  32. .HasColumnType("nvarchar(450)");
  33. b.Property<string>("Value")
  34. .HasColumnType("nvarchar(max)");
  35. b.HasKey("ID");
  36. b.HasIndex("Key")
  37. .IsUnique();
  38. b.ToTable("Config");
  39. });
  40. modelBuilder.Entity("bitforum.Models.Page.Banner.BannerItem", b =>
  41. {
  42. b.Property<int>("ID")
  43. .ValueGeneratedOnAdd()
  44. .HasColumnType("int");
  45. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  46. b.Property<DateTime?>("CreatedAt")
  47. .HasColumnType("datetime2");
  48. b.Property<DateTime?>("EndAt")
  49. .HasColumnType("datetime2");
  50. b.Property<int>("Height")
  51. .HasColumnType("int");
  52. b.Property<string>("Image")
  53. .HasMaxLength(1024)
  54. .HasColumnType("nvarchar(1024)");
  55. b.Property<bool>("IsActive")
  56. .HasColumnType("bit");
  57. b.Property<string>("Link")
  58. .HasMaxLength(255)
  59. .HasColumnType("nvarchar(255)");
  60. b.Property<int>("Order")
  61. .HasColumnType("int");
  62. b.Property<int>("PositionID")
  63. .HasColumnType("int");
  64. b.Property<DateTime?>("StartAt")
  65. .HasColumnType("datetime2");
  66. b.Property<string>("Subject")
  67. .IsRequired()
  68. .HasMaxLength(255)
  69. .HasColumnType("nvarchar(255)");
  70. b.Property<DateTime?>("UpdatedAt")
  71. .HasColumnType("datetime2");
  72. b.Property<int>("Views")
  73. .HasColumnType("int");
  74. b.Property<int>("Width")
  75. .HasColumnType("int");
  76. b.HasKey("ID");
  77. b.HasIndex("PositionID");
  78. b.HasIndex(new[] { "IsActive" }, "IX_BannerItem_IsActive");
  79. b.HasIndex(new[] { "Order" }, "IX_BannerItem_Order");
  80. b.ToTable("BannerItem");
  81. });
  82. modelBuilder.Entity("bitforum.Models.Page.Banner.BannerPosition", b =>
  83. {
  84. b.Property<int>("ID")
  85. .ValueGeneratedOnAdd()
  86. .HasColumnType("int");
  87. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  88. b.Property<string>("Code")
  89. .IsRequired()
  90. .HasMaxLength(30)
  91. .HasColumnType("nvarchar(30)");
  92. b.Property<DateTime?>("CreatedAt")
  93. .HasColumnType("datetime2");
  94. b.Property<bool>("IsActive")
  95. .HasColumnType("bit");
  96. b.Property<string>("Subject")
  97. .IsRequired()
  98. .HasMaxLength(255)
  99. .HasColumnType("nvarchar(255)");
  100. b.Property<DateTime?>("UpdatedAt")
  101. .HasColumnType("datetime2");
  102. b.HasKey("ID");
  103. b.HasIndex(new[] { "Code" }, "IX_BannerPosition_Code")
  104. .IsUnique();
  105. b.HasIndex(new[] { "IsActive" }, "IX_BannerPosition_IsActive");
  106. b.ToTable("BannerPosition");
  107. });
  108. modelBuilder.Entity("bitforum.Models.Page.Document", b =>
  109. {
  110. b.Property<int>("ID")
  111. .ValueGeneratedOnAdd()
  112. .HasColumnType("int");
  113. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  114. b.Property<string>("Code")
  115. .IsRequired()
  116. .HasMaxLength(30)
  117. .HasColumnType("nvarchar(30)");
  118. b.Property<string>("Content")
  119. .HasColumnType("nvarchar(max)");
  120. b.Property<DateTime?>("CreatedAt")
  121. .HasColumnType("datetime2");
  122. b.Property<bool>("IsActive")
  123. .HasColumnType("bit");
  124. b.Property<string>("Subject")
  125. .IsRequired()
  126. .HasMaxLength(120)
  127. .HasColumnType("nvarchar(120)");
  128. b.Property<DateTime?>("UpdatedAt")
  129. .HasColumnType("datetime2");
  130. b.Property<int>("Views")
  131. .HasColumnType("int");
  132. b.HasKey("ID");
  133. b.HasIndex(new[] { "Code" }, "IX_Document_Code")
  134. .IsUnique();
  135. b.HasIndex(new[] { "IsActive" }, "IX_Document_IsActive");
  136. b.ToTable("Document");
  137. });
  138. modelBuilder.Entity("bitforum.Models.Page.Faq.FaqCategory", b =>
  139. {
  140. b.Property<int>("ID")
  141. .ValueGeneratedOnAdd()
  142. .HasColumnType("int");
  143. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  144. b.Property<string>("Code")
  145. .IsRequired()
  146. .HasMaxLength(30)
  147. .HasColumnType("nvarchar(30)");
  148. b.Property<DateTime?>("CreatedAt")
  149. .HasColumnType("datetime2");
  150. b.Property<bool>("IsActive")
  151. .HasColumnType("bit");
  152. b.Property<int>("Order")
  153. .HasColumnType("int");
  154. b.Property<string>("Subject")
  155. .IsRequired()
  156. .HasMaxLength(255)
  157. .HasColumnType("nvarchar(255)");
  158. b.Property<DateTime?>("UpdatedAt")
  159. .HasColumnType("datetime2");
  160. b.HasKey("ID");
  161. b.HasIndex(new[] { "Code" }, "IX_FaqCategory_Code")
  162. .IsUnique();
  163. b.HasIndex(new[] { "Order" }, "IX_FaqCategory_Order");
  164. b.ToTable("FaqCategory");
  165. });
  166. modelBuilder.Entity("bitforum.Models.Page.Faq.FaqItem", b =>
  167. {
  168. b.Property<int>("ID")
  169. .ValueGeneratedOnAdd()
  170. .HasColumnType("int");
  171. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  172. b.Property<string>("Answer")
  173. .HasColumnType("nvarchar(max)");
  174. b.Property<int>("CategoryID")
  175. .HasColumnType("int");
  176. b.Property<DateTime?>("CreatedAt")
  177. .HasColumnType("datetime2");
  178. b.Property<bool>("IsActive")
  179. .HasColumnType("bit");
  180. b.Property<int>("Order")
  181. .HasColumnType("int");
  182. b.Property<string>("Question")
  183. .IsRequired()
  184. .HasMaxLength(255)
  185. .HasColumnType("nvarchar(255)");
  186. b.Property<DateTime?>("UpdatedAt")
  187. .HasColumnType("datetime2");
  188. b.Property<int>("Views")
  189. .HasColumnType("int");
  190. b.HasKey("ID");
  191. b.HasIndex("CategoryID");
  192. b.HasIndex(new[] { "IsActive" }, "IX_FaqItem_IsActive");
  193. b.HasIndex(new[] { "Order" }, "IX_FaqItem_Order");
  194. b.ToTable("FaqItem");
  195. });
  196. modelBuilder.Entity("bitforum.Models.Page.Popup", b =>
  197. {
  198. b.Property<int>("ID")
  199. .ValueGeneratedOnAdd()
  200. .HasColumnType("int");
  201. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  202. b.Property<string>("Content")
  203. .HasColumnType("nvarchar(max)");
  204. b.Property<DateTime?>("CreatedAt")
  205. .HasColumnType("datetime2");
  206. b.Property<DateTime?>("EndAt")
  207. .HasColumnType("datetime2");
  208. b.Property<bool>("IsActive")
  209. .HasColumnType("bit");
  210. b.Property<string>("Link")
  211. .HasMaxLength(255)
  212. .HasColumnType("nvarchar(255)");
  213. b.Property<int>("Order")
  214. .HasColumnType("int");
  215. b.Property<DateTime?>("StartAt")
  216. .HasColumnType("datetime2");
  217. b.Property<string>("Subject")
  218. .IsRequired()
  219. .HasMaxLength(255)
  220. .HasColumnType("nvarchar(255)");
  221. b.Property<DateTime?>("UpdatedAt")
  222. .HasColumnType("datetime2");
  223. b.Property<int>("Views")
  224. .HasColumnType("int");
  225. b.HasKey("ID");
  226. b.HasIndex(new[] { "IsActive" }, "IX_Popup_IsActive");
  227. b.ToTable("Popup");
  228. });
  229. modelBuilder.Entity("bitforum.Models.User.Member", b =>
  230. {
  231. b.Property<int>("ID")
  232. .ValueGeneratedOnAdd()
  233. .HasColumnType("int")
  234. .HasComment("PK");
  235. b.Property<DateTime?>("AuthCertifiedAt")
  236. .HasColumnType("datetime2")
  237. .HasComment("본인인증 일시");
  238. b.Property<DateOnly?>("Birthday")
  239. .HasMaxLength(10)
  240. .HasColumnType("date")
  241. .HasComment("생년월일");
  242. b.Property<long>("Coin")
  243. .HasColumnType("bigint")
  244. .HasComment("코인");
  245. b.Property<DateTime>("CreatedAt")
  246. .HasColumnType("datetime2")
  247. .HasComment("가입 일시");
  248. b.Property<DateTime?>("DeletedAt")
  249. .HasColumnType("datetime2")
  250. .HasComment("탈퇴 일시");
  251. b.Property<string>("DeviceInfo")
  252. .HasMaxLength(400)
  253. .HasColumnType("nvarchar(400)")
  254. .HasComment("로그인 단말기 정보");
  255. b.Property<string>("Email")
  256. .IsRequired()
  257. .HasMaxLength(255)
  258. .HasColumnType("nvarchar(255)")
  259. .HasComment("이메일");
  260. b.Property<DateTime?>("EmailVerifiedAt")
  261. .HasColumnType("datetime2")
  262. .HasComment("이메일 인증 일시");
  263. b.Property<int>("Exp")
  264. .HasColumnType("int")
  265. .HasComment("경험치");
  266. b.Property<string>("FirstName")
  267. .HasMaxLength(20)
  268. .HasColumnType("nvarchar(20)")
  269. .HasComment("본명(성)");
  270. b.Property<int>("Followed")
  271. .HasColumnType("int")
  272. .HasComment("구독자");
  273. b.Property<int>("Following")
  274. .HasColumnType("int")
  275. .HasComment("구독 중");
  276. b.Property<string>("FullName")
  277. .HasMaxLength(40)
  278. .HasColumnType("nvarchar(40)")
  279. .HasComment("본명");
  280. b.Property<int?>("Gender")
  281. .HasMaxLength(6)
  282. .HasColumnType("int")
  283. .HasComment("성별");
  284. b.Property<int?>("GradeID")
  285. .HasColumnType("int")
  286. .HasComment("회원등급 ID");
  287. b.Property<string>("Intro")
  288. .HasMaxLength(1000)
  289. .HasColumnType("nvarchar(1000)")
  290. .HasComment("자기소개");
  291. b.Property<bool>("IsAdmin")
  292. .HasColumnType("bit")
  293. .HasComment("운영진 여부");
  294. b.Property<bool>("IsAuthCertified")
  295. .HasColumnType("bit")
  296. .HasComment("본인 인증 여부");
  297. b.Property<bool>("IsDenied")
  298. .HasColumnType("bit")
  299. .HasComment("차단 여부");
  300. b.Property<bool>("IsEmailVerified")
  301. .HasColumnType("bit")
  302. .HasComment("이메일 인증 여부");
  303. b.Property<bool>("IsWithdraw")
  304. .HasColumnType("bit")
  305. .HasComment("탈퇴 여부");
  306. b.Property<DateTime?>("LastLoginAt")
  307. .HasColumnType("datetime2")
  308. .HasComment("마지막 로그인 일시");
  309. b.Property<string>("LastLoginIp")
  310. .HasMaxLength(15)
  311. .HasColumnType("nvarchar(15)")
  312. .HasComment("마지막 로그인 IP");
  313. b.Property<string>("LastName")
  314. .HasMaxLength(40)
  315. .HasColumnType("nvarchar(40)")
  316. .HasComment("본명(이름)");
  317. b.Property<string>("Name")
  318. .HasMaxLength(20)
  319. .HasColumnType("nvarchar(20)")
  320. .HasComment("별명");
  321. b.Property<string>("Password")
  322. .IsRequired()
  323. .HasMaxLength(255)
  324. .HasColumnType("nvarchar(255)")
  325. .HasComment("비밀번호");
  326. b.Property<DateTime>("PasswordUpdatedAt")
  327. .HasColumnType("datetime2")
  328. .HasComment("비밀번호 변경 일시");
  329. b.Property<string>("Phone")
  330. .HasMaxLength(15)
  331. .HasColumnType("nvarchar(15)")
  332. .HasComment("연락처");
  333. b.Property<string>("Photo")
  334. .HasMaxLength(255)
  335. .HasColumnType("nvarchar(255)")
  336. .HasComment("사진");
  337. b.Property<string>("SID")
  338. .IsRequired()
  339. .HasMaxLength(20)
  340. .HasColumnType("nvarchar(20)")
  341. .HasComment("SID");
  342. b.Property<string>("SignupIP")
  343. .IsRequired()
  344. .HasMaxLength(15)
  345. .HasColumnType("nvarchar(15)")
  346. .HasComment("회원가입 시 IP");
  347. b.Property<string>("Summary")
  348. .HasMaxLength(50)
  349. .HasColumnType("nvarchar(50)")
  350. .HasComment("한마디");
  351. b.Property<DateTime?>("UpdatedAt")
  352. .HasColumnType("datetime2")
  353. .HasComment("수정 일시");
  354. b.HasKey("ID");
  355. b.HasIndex("GradeID");
  356. b.HasIndex(new[] { "Email" }, "IX_Member_Email")
  357. .IsUnique();
  358. b.HasIndex(new[] { "Name" }, "IX_Member_Name")
  359. .IsUnique()
  360. .HasFilter("[Name] IS NOT NULL");
  361. b.HasIndex(new[] { "SID" }, "IX_Member_SID")
  362. .IsUnique();
  363. b.ToTable("Member", t =>
  364. {
  365. t.HasComment("회원 정보");
  366. });
  367. });
  368. modelBuilder.Entity("bitforum.Models.User.MemberApprove", b =>
  369. {
  370. b.Property<int>("ID")
  371. .ValueGeneratedOnAdd()
  372. .HasColumnType("int")
  373. .HasComment("회원 ID");
  374. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  375. b.Property<bool>("IsDisclosureInvest")
  376. .HasColumnType("bit")
  377. .HasComment("투자 현황 공개 여부");
  378. b.Property<bool>("IsReceiveEmail")
  379. .HasColumnType("bit")
  380. .HasComment("E-MAIL 수신 여부");
  381. b.Property<bool>("IsReceiveNote")
  382. .HasColumnType("bit")
  383. .HasComment("쪽지 수신 여부");
  384. b.Property<bool>("IsReceiveSMS")
  385. .HasColumnType("bit")
  386. .HasComment("SMS 수신 여부");
  387. b.HasKey("ID");
  388. b.ToTable("MemberApprove", t =>
  389. {
  390. t.HasComment("회원 동의 및 수신 여부");
  391. });
  392. });
  393. modelBuilder.Entity("bitforum.Models.User.MemberGrade", b =>
  394. {
  395. b.Property<int>("ID")
  396. .ValueGeneratedOnAdd()
  397. .HasColumnType("int")
  398. .HasComment("PK");
  399. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
  400. b.Property<DateTime>("CreatedAt")
  401. .HasColumnType("datetime2")
  402. .HasComment("등록 일시");
  403. b.Property<string>("Description")
  404. .HasMaxLength(1000)
  405. .HasColumnType("nvarchar(1000)")
  406. .HasComment("설명");
  407. b.Property<string>("EngName")
  408. .IsRequired()
  409. .HasMaxLength(120)
  410. .HasColumnType("nvarchar(120)")
  411. .HasComment("영문 명");
  412. b.Property<string>("Image")
  413. .HasColumnType("nvarchar(max)")
  414. .HasComment("이미지");
  415. b.Property<bool>("IsActive")
  416. .HasColumnType("bit")
  417. .HasComment("사용 여부");
  418. b.Property<string>("KorName")
  419. .IsRequired()
  420. .HasMaxLength(120)
  421. .HasColumnType("nvarchar(120)")
  422. .HasComment("한글 명");
  423. b.Property<short>("Order")
  424. .HasColumnType("smallint")
  425. .HasComment("순서");
  426. b.Property<int>("RequiredCoin")
  427. .HasColumnType("int")
  428. .HasComment("최소 코인(Coin)");
  429. b.Property<int>("RequiredExp")
  430. .HasColumnType("int")
  431. .HasComment("최소 경험치(Exp)");
  432. b.Property<DateTime?>("UpdatedAt")
  433. .HasColumnType("datetime2")
  434. .HasComment("수정 일시");
  435. b.HasKey("ID");
  436. b.HasIndex(new[] { "EngName" }, "IX_MemberGrade_EngName")
  437. .IsUnique();
  438. b.HasIndex(new[] { "KorName" }, "IX_MemberGrade_KorName")
  439. .IsUnique();
  440. b.ToTable("MemberGrade", t =>
  441. {
  442. t.HasComment("회원 등급");
  443. });
  444. });
  445. modelBuilder.Entity("bitforum.Models.Page.Banner.BannerItem", b =>
  446. {
  447. b.HasOne("bitforum.Models.Page.Banner.BannerPosition", "BannerPosition")
  448. .WithMany("BannerItem")
  449. .HasForeignKey("PositionID")
  450. .OnDelete(DeleteBehavior.Cascade)
  451. .IsRequired();
  452. b.Navigation("BannerPosition");
  453. });
  454. modelBuilder.Entity("bitforum.Models.Page.Faq.FaqItem", b =>
  455. {
  456. b.HasOne("bitforum.Models.Page.Faq.FaqCategory", "FaqCategory")
  457. .WithMany("FaqItem")
  458. .HasForeignKey("CategoryID")
  459. .OnDelete(DeleteBehavior.Cascade)
  460. .IsRequired();
  461. b.Navigation("FaqCategory");
  462. });
  463. modelBuilder.Entity("bitforum.Models.User.Member", b =>
  464. {
  465. b.HasOne("bitforum.Models.User.MemberGrade", "MemberGrade")
  466. .WithMany()
  467. .HasForeignKey("GradeID");
  468. b.HasOne("bitforum.Models.User.MemberApprove", "MemberApproves")
  469. .WithOne("Member")
  470. .HasForeignKey("bitforum.Models.User.Member", "ID")
  471. .OnDelete(DeleteBehavior.Cascade)
  472. .IsRequired();
  473. b.Navigation("MemberApproves");
  474. b.Navigation("MemberGrade");
  475. });
  476. modelBuilder.Entity("bitforum.Models.Page.Banner.BannerPosition", b =>
  477. {
  478. b.Navigation("BannerItem");
  479. });
  480. modelBuilder.Entity("bitforum.Models.Page.Faq.FaqCategory", b =>
  481. {
  482. b.Navigation("FaqItem");
  483. });
  484. modelBuilder.Entity("bitforum.Models.User.MemberApprove", b =>
  485. {
  486. b.Navigation("Member")
  487. .IsRequired();
  488. });
  489. #pragma warning restore 612, 618
  490. }
  491. }
  492. }