好的,所以我自己有一个生成的名为Vault.CS的类,它是从我的数据库表"Kingdom"生成的。"王国"分为3个概念模型,分别称为"王国"、"军队"one_answers"保险库"。保险库是一个概念模型。它指的是ItemSlot1-ItemSlot16列,每个字段都是一个整数。
我的问题是,我如何在扩展类中将这16个字段称为集合?例如,如果我想将项目添加到"Vault",它应该在插槽1-16中找到第一个空插槽(0或null),然后将协调响应特定项目的整数添加到该字段中。我读了一些关于复杂类的文章,但没有读到任何关于能够以这种方式对一组属性进行排序的内容。有什么想法吗?
我不清楚你的想法,但我认为你需要这样的东西:
[MetadataType(typeof(VaultAttribs))]
public partial class Vault
{
public void Add(int item)
{
var v = db.Vaults.FirstOrDefault();
var ps = v.GetType().GetProperties();
for (int i = 0; i < ps.Lenght; i++)
if (ps[i].Equals(null))
{
ps[i].SetValue(v, item, null);
db.SaveChanges();
return;
}
}
}
public class VaultAttribs
{
// Vault attribs...
}
生成的类应该是分部的。部分类帮助这意味着您可以添加额外的属性和方法,而无需接触生成的类部分。