Merhaba,
EF code first mantığı ile 2 farklı tablo oluşturdum.
1.Tablo(User)'nun property’leri
public class User:IEntity
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity), Key]
[Required]
public int UserID { get; set; }
public string Name { get; set; }
public string SurName { get; set; }
public string Nick { get; set; }
public string Phone { get; set; }
public string Bio { get; set; }
public string Mail { get; set; }
public string Password { get; set; }
public bool IsDeleted { get; set; }
public DateTime DateTime { get; set; }
}
2.Tablo’nun (Tweet) propertyleri;
public class Tweet : IEntity
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity), Key]
[Required]
public int TweetID { get; set; }
public string Content { get; set; }
public int LikeCount { get; set; }
public DateTime DateTime { get; set; }
public bool IsDeleted { get; set; }
public int UserID { get; set; }
public User User { get; set; }
}
bu şekilde migration oluşturuyorum. İlişkiler kuruluyor. Repository kısmında get yapıp verileri alacağım zaman
public Tweet Get(int id)
{
return this._twitterContext.Tweets.Include(x => x.User).Where(x => x.TweetID == id).FirstOrDefault();
//return this._twitterContext.Tweets.Where(x => x.TweetID == id).FirstOrDefault();
}
Include yapmadan user gözükmüyor. Örnek olarak açıklama satırında olan kodu çağırdığımda user = null olarak gözüküyor. Tabloda UserID yi girdiğim zaman direkt User tablosu ile zaten ilişki kuruyor. Ben bir daha neden INCLUDE Yapıyorum?
bu çok profesyonelce bir yaklaşım değil gibi gözüküyor. başka bir şekilde yapmamın yolu var mı?
İnşallah anlatabilmişimdir.
Teşekkürler…