./../
  I D :    ¾Ï È£ :     IDÀúÀå         ȸ ¿ø °¡ ÀÔ      ³×°Ô(ÁåÀå) ÂÊÁöº¸³»±â      ¸Þ¸ðÀå      °¢Á¾°è»ê±â      ºü·¿      À̸ðƼÄÜ(ÇÁ·¹ÀÓ»õâ)      º¸À¯Àåºñ
¸ñ·ÏÀ¸·Î °¡±â..
Entity Framework : Data Annotations ±èÁ¾È£ | »èÁ¦Çϱâ

Data AnnotationÀº .NET Framework¿¡¼­ Data ValidationÀ» µ½±â À§ÇØ Á¦°øµÇ´Â ±â´ÉÀ¸·Î Ŭ·¡½ºÀÇ ¼Ó¼º¿¡ ¿©·¯ Data Annotation Ư¼º(attribute)¸¦ Ãß°¡ÇÔÀ¸·Î º°µµÀÇ ÄÚµå¾øÀÌ Validation ±ÔÄ¢À» Àû¿ëÇÒ ¼ö ÀÖ´Ù. Entity FrameworkÀÇ DbSet Ŭ·¡½º¿¡¼­ ÀÌ·¯ÇÑ Data AnnotationÀ» »ç¿ëÇÏ¿© Å×À̺í Ä÷³¿¡ Ưº°ÇÑ ¼Ó¼ºÀ» ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç, ¶ÇÇÑ °¢ ÇʵåÀÇ Ãâ·ÂÆ÷¸Ë°ú Ư¼ºµéÀ» ÁöÁ¤ÇÏ¿© ASP.NET MVC¿Í °°Àº ¿ÜºÎ ÇÁ·¹ÀÓ¿öÅ©¿¡¼­ ÀÌ·¯ÇÑ Validation Ư¼ºµéÀ» È°¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÏ°í ÀÖ´Ù. Entity Framework¿¡¼­ Å×ÀÌºí ½ºÅ°¸¶¸¦ Á¤ÀÇÇϴ Ŭ·¡½º¸¦ ÀÛ¼ºÇÒ ¶§, Ä÷³Å¸ÀÔ, ÃÖ´ë Å©±â, Identity ¼Ó¼º µî Å×À̺í Á¤ÀÇ¿¡ ÇÊ¿äÇÑ ¿©·¯ ¼Ó¼ºµéÀ» ÇÔ²² ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ, Ŭ·¡½ºÀÇ Çʵå(Ä÷³)°¡ ¿ÜºÎ¿¡ Ç¥½ÃµÉ ¶§, DisplayName À̳ª DisplayFormat °°Àº Ư¼ºµéÀ» »ç¿ëÇÒ ¼ö Àִµ¥, ¿¹¸¦ µé¾î MVC À¥ ÇÁ·¹ÀÓ¿öÅ©¿¡¼­ ÀÌ·¯ÇÑ Display Ư¼ºµéÀ» »ç¿ëÇÏ¿© ÇʵåÀÇ Çì´õ³ª Æ÷¸ËÀ» ÀÚµ¿À¸·Î Àû¿ëÇÑ´Ù. ¾Æ·¡ ¿¹Á¦´Â Customer Ŭ·¡½º¿¡ ¿©·¯ Data AnnotationÀ» ºÙ¿©º» »ùÇÃÀÌ´Ù. Entity Framework¿¡¼­ Primary Key (PK)¸¦ ÁöÁ¤Çϱâ À§ÇØ, [Key] ¶ó´Â Ư¼ºÀ» ÁöÁ¤ÇÑ´Ù. ¸¸¾à Ŭ·¡½º¿¡ Key Ư¼ºÀÌ ¾øÀ¸¸é Id ȤÀº *Id¿Í °°ÀÌ ³¡ÀÌ Id·Î ³¡³ª´Â Ä÷³À» Primary Key·Î »ç¿ëÇÑ´Ù. Id Ä÷³Àº Identity ·Î ¸¸µé±â À§Çؼ­´Â DatabaseGenerated(DatabaseGeneratedOption.Identity) Ư¼ºÀ» ÁöÁ¤ÇÏ¸é µÇ´Âµ¥, À̸¦ »ç¿ëÇϸé Id Ä÷³ÀÌ DB¿¡¼­ ÀÚµ¿À¸·Î ä¿öÁø´Ù. PK ÀÌ¿Ü¿¡ Foreign Key¸¦ ÁöÁ¤Çϱâ À§Çؼ­´Â [ForeignKey()] ¸¦ »ç¿ëÇϸç, ƯÁ¤ Ä÷³¿¡ À妽º¸¦ »ý¼ºÇϱâ À§Çؼ­´Â [Index] Ư¼ºÀ» ÁöÁ¤ÇÑ´Ù. Ä÷³ÀÌ ¹Ýµå½Ã µ¥ÀÌŸ°¡ ÀԷµǾî¾ß ÇÏ´Â °æ¿ì Áï NULLÀÌ Çã¿ëµÇÁö ¾Ê´Â °æ¿ì [Required] Ư¼ºÀ» ÁöÁ¤ÇÑ´Ù. ¶ÇÇÑ, ¹®ÀÚ¿­ÀÇ ÃÖ´ë, ÃÖ¼Ò±æÀ̸¦ Ç¥ÇöÇϱâ À§Çؼ­´Â MaxLength(n), MinLength(m) Ư¼ºÀ» ÁöÁ¤ÇÑ´Ù. ¿¹Á¦ using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Data.Entity; public class Customer { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public Guid Id { get; set; } [StringLength(100)] [Index(IsUnique = true)] public string LoginId { get; set; } [Display(Name = "Create Date")] [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] public DateTimeOffset CreateDate { get; set; } [Required] [MaxLength(100)] public string Name { get; set; } [EmailAddress] public string Email { get; set; } public int Age { get; set; } } ÀÚÁÖ »ç¿ëµÇ´Â Data Annotation
Data Annotation¼³¸í¿¹Á¦
Table Table ¼Ó¼º ÁöÁ¤. Table¸í ÁöÁ¤ [Table("CustTab")]
public class Customer
Column Column ¼Ó¼º ÁöÁ¤ [Column("Misc", typename="ntext")]
public string Data {get; set; }
Key Primary Key ÁöÁ¤ [Key] public int Id { get; set; } PK°¡ º¹¼ö Ä÷³ÀÎ °æ¿ì:
[Key] [Column(Order=1)]
public string FirstName { get; set; }
[Key] [Column(Order=2)]
public string Last { get; set; }
ForeignKey Foreign Key [ForeignKey("Id")]
public int EmpId { get; set; }
Index Index Ä÷³ ÁöÁ¤ (EF 6.1+) [Index]
public int RefId { get; set; }
DatabaseGenerated DB »ý¼º ¿É¼Ç ÁöÁ¤ [DatabaseGenerated(DatabaseGenerationOption.Identity]
public int Id { get; set; }
Required Çʼö Ç׸ñ. NOT NULL Çʵå [Required]
public string Name { get; set; }
MaxLength ÃÖ´ë ±æÀÌ [MaxLength(100)]
public string Name { get; set; }
MinLength ÃÖ¼Ò ±æÀÌ [MinLength(5)]
public string Name { get; set; }
Range ÃÖ¼Ò, ÃÖ´ë ¹üÀ§°ªÀ» ÁöÁ¤ [Range(0, 100)]
public int Score { get; set; }
NotMapped Å×ÀÌºí¿¡ ÀúÀåµÇÁö ¾Ê´Â Çʵå [NotMapped]
public int Extra { get; set; }
Timestamp Timestamp Ä÷³ [Timestamp]
public byte[] TimeStamp { get; set; }
Email Email ÁÖ¼Ò Ã¼Å© [EmailAddress]
public string Email { get; set; }


÷¾ð ´Þ±â
À̸§ : ¾ÏÈ£ :
¹øÈ£    Á¦¸ñ...(÷¾ð) ÀÛ¼ºÀÏ Á¢¼Ó
xxx [°øÁö]ÀÚÀ¯°Ö·¯¸® µî·Ï ¿À·ù ¼öÁ¤ ¿Ï·á 2017-12-22 15056
xxx [°øÁö]ÀÚ·á½Ç ´Ù¿î·Îµå ¿À·ù ó¸® 2017-12-01 15774
213 [ÀϹÝ]  windows 10, 11 ÃÖ°í¼º´É È°¼ºÈ­Çϱâ 2024-04-04(¸ñ) 21
212 [ÀϹÝ]  ¾Èµå·ÎÀÌµå ½º¸¶Æ®Æù ¼ÅÅÍÀ½ ¾ø¾Ö±â 2024-03-26(È­) 31
211 [ÀϹÝ]  VLC Player·Î Streamming ÇÒ¶§ 60ÃÊ ÈÄ ²÷±â¸é 2024-03-05(È­) 62
210 [ÀϹÝ]  windows ¿ø°ÝÀ¸·Î ÇÁ·Î¼¼½º ²ô±â 2024-03-03(ÀÏ) 54
209 [ÀϹÝ]  windows ¿ø°ÝÀ¸·Î ÄÄÇ»ÅÍ ²ô±â 2024-03-03(ÀÏ) 61
208 [ÀϹÝ]  git ignore °¡ Àû¿ë ¾ÈµÉ¶§ 2024-01-08(¿ù) 67
207 [CPP]  STMCubeIDE ¿¡¼­ multiple definition of Error ¹ß»ý½Ã 2023-11-24(±Ý) 91
206 [CPP]  STMCubeIDE ¹öÀü¿¡ µû¶ó caddr_t ¿À·ù ¹ß»ýÇÒ¶§ 2023-11-24(±Ý) 86
204 [ÀϹÝ]  Sony SRG-XP1 SRG-XB25, Lumens VC-BC701P RTSP URL 2023-08-18(±Ý) 120
203 [ÀϹÝ]  internet explorer°¡ edge·Î ÀÚµ¿ ½ÇÇàµÇ´Â °Í ¹æ 2023-07-19(¼ö) 156
202 [ÀϹÝ]  .net native AOT·Î ÄÄÆÄÀÏ Çϸé 30%Á¤µµ ´õ »¡¶óÁü 2023-07-08(Åä) 169
201 [ÀϹÝ]  À©µµ¿ì 10 Å°º¸µå ´ÜÃàÅ° 2023-06-25(ÀÏ) 161
200 [ÀϹÝ]  TPMÀÌ ¾ø¾î¼­ Windows 11 Upgrade¸¦ ¸øÇÒ¶§ 2023-06-20(È­) 189
199 [ÀϹÝ]  Àü¼¼º¸Áõ±ÝÀ» ¾Èµ¹·ÁÁÙ¶§ ÀÓÂ÷±Ç µî±â¸í 2023-06-17(Åä) 202
198 [ÀϹÝ]  ¿øµµ¿ìÁî 11 ÀÚµ¿·Î±×ÀÎ ÇÏ·Á´Âµ¥ netplwiz¿¡ üũ¹Ú½º°¡ ¾øÀ»°æ¿ì ..[1] 2023-06-17(Åä) 186
197 [C#]  .Net C# MDB ÆÄÀÏ »ý¼º ¹× Å×ÀÌºí »ý¼º 2023-04-23(ÀÏ) 188
196 [C#]  .Net C# dbf¸¦ odbc·Î ºÙÀÌ´Â ¹æ¹ý 2023-04-23(ÀÏ) 187
195 [ÀϹÝ]  NVIDIA GPU ¼º´ÉÇ¥ 2023-04-12(¼ö) 232
194 [ÀϹÝ]  Hyper-v GPU DDA(GPU passthrough) ¼³Á¤Çϱâ ..[1] 2023-04-11(È­) 1684
193 [ÀϹÝ]  Azure DevOps ¼­¹ö º¯°æÇؼ­ ¼Ò½º ¿Ã¸®±â 2023-03-31(±Ý) 264
°Ë»ö :
Page : ÀÌÀü 1  2  3  4  5  6  7  8  9  10  11  ´ÙÀ½




Copyright 2003-2024 ¨Ï ±èÁ¾È£. All rights reserved. kimjongho.co.kr kimjongho.kr kimjongho.net kimjongho.com