在这篇文章中,我们将为您详细介绍在.NetCoreMVC中,在重复代码以在dbcontext中做同样的事情时,这是否被认为是不好的做法?的内容。此外,我们还会涉及一些关于asp.net-mvc–Ide
在这篇文章中,我们将为您详细介绍在 .Net Core MVC 中,在重复代码以在 dbcontext 中做同样的事情时,这是否被认为是不好的做法?的内容。此外,我们还会涉及一些关于asp.net-mvc – IdentityDbContext vs Reb的DbContext、c# – 在属性中声明变量被认为是不好的做法吗?、css – 正在使用像’right’这样的类名被认为是不好的做法?、iframe 被认为是“不好的做法”吗?的知识,以帮助您更全面地了解这个主题。
本文目录一览:- 在 .Net Core MVC 中,在重复代码以在 dbcontext 中做同样的事情时,这是否被认为是不好的做法?
- asp.net-mvc – IdentityDbContext vs Reb的DbContext
- c# – 在属性中声明变量被认为是不好的做法吗?
- css – 正在使用像’right’这样的类名被认为是不好的做法?
- iframe 被认为是“不好的做法”吗?
在 .Net Core MVC 中,在重复代码以在 dbcontext 中做同样的事情时,这是否被认为是不好的做法?
如何解决在 .Net Core MVC 中,在重复代码以在 dbcontext 中做同样的事情时,这是否被认为是不好的做法??
我有三个类,代表数据库中的实体。 它们都有相同的字段,所有更改的是它们的名称,例如:DealerId 和 CompanyId。
我不确定这是否被认为是不好的做法,但是当我编写查询以从数据库中检索他们的信息,保存到数据库等时。我为每个人都写了同样的事情,只是改变了第一个字。例如。 ****ID,****名称。
有没有更好的方法来做到这一点?我知道我可以使用动态对象,但我不确定这是否也被认为是不好的做法?
这是一些将重复的代码的简短示例。
public Companies GetCompany(int id)
{
Companies company = null;
using (MysqLConnection connection = _GetConnection)
{
connection.open();
string query = "SELECT ddb_company_id,ddb_company_name FROM `ddb_companies` WHERE ddb_company_id = @Val1;";
MysqLCommand command = new MysqLCommand(query,connection);
command.Parameters.AddWithValue("Val1",id);
command.Prepare();
using (MysqLDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
company = new Companies
{
CompanyId = reader.GetInt32("ddb_company_id"),CompanyName = reader.GetString("ddb_company_name"),AddressValues = new AddressValues(),FieldValues = new List<FieldValues>()
};
}
}
解决方法
这不是坏习惯 - 这是数据库设计的问题。这完全取决于您的需求,以及您为什么想出您所做的 namig。 但是,当数据集增长或您必须重命名字段时,可能会难以维护。 您可以考虑的一种方法是在 sql 查询中使用类属性的名称(这也意味着重命名数据库中的字段以匹配该名称)。这将确保您的代码和您的 sql 字段同步。缺点是,如果您不重命名 db 字段,则重命名类中的属性可能会破坏您的应用程序 - 因此您必须注意这一点。
您可以将查询重写为:
string query = $"SELECT "{nameof(CompanyId)}","{nameof(CompanyName)}" FROM `ddb_companies` WHERE "{nameof(CompanyId)}" = @Val1;";
asp.net-mvc – IdentityDbContext vs Reb的DbContext
在EFGenericRepository中的以前版本的MVC中,您将引用EntityFramework并使用DbContext,这就是它.
现在我正在使用具有ASP.NET标识的MVC5,我需要为IdentityDbContext切换DbContext,但这意味着我需要引用ASP.NET标识.
有没有办法解决这个问题,还是完全没问题?
构造函数和属性的片段
public class EntityFrameworkGenericRepository<T> : IGenericRepository<T> where T: class { protected IdentityDbContext<ApplicationUser>Context = null; protected DbSet<T> DbSet { get { return Context.Set<T>(); } } public EntityFrameworkGenericRepository(IdentityDbContext<ApplicationUser> context) { if (context == null) { throw new ArgumentNullException("context"); } Context = context; }
这是我的WebAppDbContext:
public class WebAppDbContext : IdentityDbContext<ApplicationUser> { public WebAppDbContext() : base(nameOrConnectionString: "DefaultConnection") { } public DbSet<User> User { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); base.OnModelCreating(modelBuilder); } }
解决方法
c# – 在属性中声明变量被认为是不好的做法吗?
public class PeopleInfo { public virtual int ID {get; protected set;} public virtual Person Person1 {get;set;} public virtual Person Person2 {get;set;} public virtual List<Person> People { get { var p = new List<Person>(); p.Add(Person1); p.Add(Person2); return p; } } }
我正在使用NHibernate. Person类被用作组件,因为“PeopleInfo”表在每行中有超过1个人. People()属性背后的想法是提供一个可以循环的只读列表.有没有更好的方法来做到这一点,还是认为这个解决方案可以接受?
解决方法
The idea behind the People property is to provide a read only list that can be looped over. Is there a better way to do this or is this solution considered acceptable?
如果这是你的意图那么你还没有实现它;你提供了一个可以循环的可变列表.
幸运的是,每次都提供不同的可变列表,但您仍然提供可变列表.
我倾向于实际提供一个不可变的列表.有很多方法可以做到这一点.如果您实际提供了一个不可变列表,那么您还可以获得额外的好处,即可以懒惰地计算列表,然后无限期地缓存和重新使用,而不是每次请求时重新构建.
如果您需要索引访问,那么我将创建一个ReadOnlyCollection并将其包装在列表的单个实例周围,然后缓存并重新使用只读集合.请注意,如果您改变基础列表,则只读集合将显示为mutate;它只是一个只读列表,它不是一个不可变列表.
如果您不需要索引访问,那么我将通过返回IEnumerable< T>来指示而不是List< T>.然后,您可以返回您选择的任何不可变集合.
css – 正在使用像’right’这样的类名被认为是不好的做法?
<a href="index.PHP">Continue</a>
用CSS喜欢
.right { float: right; }
我知道这不是一个语义名称,但它确实使事情变得更容易.
无论如何,你有什么想法?
解决方法
为什么你希望这个特定的链接正确,另一个.continueLink不是?使用该问题的答案为该链接选择更具描述性的类名.
iframe 被认为是“不好的做法”吗?
在某个地方,我发现使用 iframe 是“不好的做法”。
这是真的?使用它们的优点/缺点是什么?
关于在 .Net Core MVC 中,在重复代码以在 dbcontext 中做同样的事情时,这是否被认为是不好的做法?的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于asp.net-mvc – IdentityDbContext vs Reb的DbContext、c# – 在属性中声明变量被认为是不好的做法吗?、css – 正在使用像’right’这样的类名被认为是不好的做法?、iframe 被认为是“不好的做法”吗?等相关内容,可以在本站寻找。
本文标签: