SummaryProblem
=============
How to get label text from table reference on database based on TableName and FieldName dynamically from database and show on view createEmployee .
Details Problem
Meaning i need to get label text dynamically from database not static from model
SO that Every Time i need to change text of label i will change it from database depend on reference table
AND No need to change from code .
IF You give me function or any thing general because i have more models and view i need to make like that)
====Tools Used ====
Tools used sql server 2012 and visual studio 2017 asp.net core 2.1
===================
Database Have two tables Employee and Reference File(may be increase models and views so that if any thing general is prefer)
====Code==========
Query Get Data from reference Table
SELECT TableName, FieldName,EnglishtextforLabel FROM ReferenceFile WHERE (FieldName = 'EmployeeId' ) AND TableName = 'Employee'
Models classes Include HRContext
public class ReferenceFile(have 3 key as composit keys(Code,TableName,FieldName))
{
public int Code { get; set; }
public string TableName { get; set; }
public string FieldName { get; set; }
public string EnglishtextforLabel{ get; set; }
}
public class Employee
{
public int EmployeeId { get; set; }
public string EmployeeName { get; set; }
public int EmployeeAge { get; set; }
}
public class HRContext : DbContext
{
public HRContext(DbContextOptions<HRContext> options)
: base(options)
{ }
public DbSet<Employee> Employees { get; set; }
public DbSet<ReferenceFile> ReferenceFiles { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Employee>()
.HasKey(t => new { t.EmployeeId });
modelBuilder.Entity<ReferenceFile>()
.HasKey(t => new { t.Code,t.TableName,t.FieldName });
}
}
Employee View Create(this static and i dont need . i need view labels get from reference table)
<div class="row">
<div class="col-md-4">
<form asp-action="Create">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="EmployeeName" class="control-label"></label>
<input asp-for="EmployeeName" class="form-control" />
<span asp-validation-for="EmployeeName" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="EmployeeAge" class="control-label"></label>
<input asp-for="EmployeeAge" class="form-control" />
<span asp-validation-for="EmployeeAge" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</form>
</div>
</div>
==============
Here i need to get label on view create from table reference not static field name
=======Sample data========
Sample data for ReferenceTable
Code TableName FieldName EnglishtextforLabel
1 Employee EmployeeId Code
2 Employee EmployeeName Name
3 Employee EmployeeAge Age
============Result I need==========
As reference table above sample labels on view create must be Give me the Result below :
Code
Name
Age
================
ahmed abedelaziz
29-Dec-2018can any one give me answer for question above if possible please