使用自定义类的模型属性
本文关键字:模型 属性 自定义 | 更新日期: 2023-09-27 18:12:50
我想先说一下,我是一个在学习ASP之前从c++开始的web开发人员。净c#。
我有一个模型在我的web应用程序,它有一个属性,我想使用一个自定义类作为属性的数据类型。我不确定在Visual Studio的文件夹结构中存储自定义类的位置。另外,我不确定我是否设置正确。
自定义类
public class ClassName
{
public int value1;
public int value2;
}
public ClassName(int v1)
{
value1 = v1;
value2 = v2
}
public class Model
{
public int ID { get; set; }
public string Name { get; set; }
public List<ClassName> ClassNames {get; set;}
}
我不希望数据库上的自定义类。我一直在Visual Studio中做Code First with Migrations,并不断尝试将自定义类推送到数据库中。关于我可能设置错误或我需要做什么来得到我正在寻找的任何想法。
就文件夹结构而言-查看Asp的模型-视图-控制器模式。网,很好看的图案。将你的模型存储在一个名为"模型"的文件夹中,将控制器存储在"控制器"下,将视图存储在"视图"下,等等。
至于在你的表中使用'classname',我不太确定你是否可以使用类行。我不确定数据库表如何容纳这个
也许您需要为classname创建另一个表,然后使用外键将这些记录引用回您的第一个表?如果你不想在数据库中使用public class Model
,那么使用VS包管理器控制台执行add-migration IgnoreChanges
。
这将创建名为IgnoreChanges
的迁移类,然后在public override void Up()
和public override void Down()
函数中删除任何您不想要的代码。
:
public partial class IgnoreChanges : DbMigration
{
public override void Up()
{
// No code here
}
public override void Down()
{
// No code here
}
}
执行update-database
和volia…没有任何更改被添加到数据库。
你基本上是在欺骗Migrations,让它认为它已经将你的模型运行到数据库中。
迁移在执行add-migration
时获取数据库的快照,因此通过删除您不想发布到数据库的代码,迁移仍然会识别您的更改已经生成,即使您从public override void Up()
和public override void Down()
函数中删除了代码
希望这是有意义的