You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
زمانی که جدولی مانند جداول واسطه از چند کلید اصلی استفاده میکنند از
پیش فرض نمیشه استفاده کرد چرا که بخش سوم صرفا یک کلید را قبول میکند BaseDto
و اجازه نمیدهد ما از کانفیگ خودکار اتومپر استفاده کنیم
public class StudentHomeWorks : IEntity
{
public int StudentId { get; set; }
public long HomeWorkId { get; set; }
public StudentHomeWorkStatus Status { get; set; }
public Student Student { get; set; }
public HomeWork HomeWork { get; set; }
}
public class StudentHomeWorksConfiguration : IEntityTypeConfiguration<StudentHomeWorks>
{
public void Configure(EntityTypeBuilder<StudentHomeWorks> builder)
{
builder.HasKey(s => new { s.StudentId, s.HomeWorkId });
builder.HasIndex(c => c.StudentId);
builder.HasIndex(c => c.HomeWorkId);
#region Relations
builder.HasOne(s => s.Student)
.WithMany(s => s.HomeWorks)
.HasForeignKey(s => s.StudentId);
builder.HasOne(s => s.HomeWork)
.WithMany(e => e.Students)
.HasForeignKey(s => s.HomeWorkId);
#endregion
}
}
``
public abstract class BaseDto<TDto, TEntity, TKey> : IHaveCustomMapping
where TDto : class, new()
where TEntity : class, IEntity<TKey>, new()
{
[Display(Name = "ردیف")]
public TKey Id { get; set; }
public TEntity ToEntity(IMapper mapper)
{
return mapper.Map<TEntity>(CastToDerivedClass(mapper, this));
}
public TEntity ToEntity(IMapper mapper, TEntity entity)
{
return mapper.Map(CastToDerivedClass(mapper, this), entity);
}
public static TDto FromEntity(IMapper mapper, TEntity model)
{
return mapper.Map<TDto>(model);
}
protected TDto CastToDerivedClass(IMapper mapper, BaseDto<TDto, TEntity, TKey> baseInstance)
{
return mapper.Map<TDto>(baseInstance);
}
public void CreateMappings(Profile profile)
{
var mappingExpression = profile.CreateMap<TDto, TEntity>();
var dtoType = typeof(TDto);
var entityType = typeof(TEntity);
//Ignore any property of source (like Post.Author) that dose not contains in destination
foreach (var property in entityType.GetProperties())
{
if (dtoType.GetProperty(property.Name) == null)
mappingExpression.ForMember(property.Name, opt => opt.Ignore());
}
CustomMappings(mappingExpression.ReverseMap());
}
public virtual void CustomMappings(IMappingExpression<TEntity, TDto> mapping)
{
}
}
و مساله اینجاست که زمانی که دی تی او رو میسازیم چگونه کانفیگ کینم
public class ViewAllQuestionOfStudentDto : BaseDto<ViewAllQuestionOfStudentDto, StudentHomeWorks, ???>
The text was updated successfully, but these errors were encountered:
زمانی که جدولی مانند جداول واسطه از چند کلید اصلی استفاده میکنند از
پیش فرض نمیشه استفاده کرد چرا که بخش سوم صرفا یک کلید را قبول میکند BaseDto
و اجازه نمیدهد ما از کانفیگ خودکار اتومپر استفاده کنیم
``
و مساله اینجاست که زمانی که دی تی او رو میسازیم چگونه کانفیگ کینم
public class ViewAllQuestionOfStudentDto : BaseDto<ViewAllQuestionOfStudentDto, StudentHomeWorks, ???>
The text was updated successfully, but these errors were encountered: