1

好的,所以我自己有一个名为 Vault.CS 的生成类,它是从我的数据库表“Kingdoms”生成的。“Kingdoms”分为 3 个概念模型,分别称为“Kingdom”、“Army”、“Vault”。Vault 是一个概念模型,指的是 ItemSlot1-ItemSlot16 列,每个字段都是整数。

我的问题是如何在我的扩展类中将这 16 个字段称为集合?例如,如果我想将一个项目添加到“Vault”,它应该在插槽 1-16 中找到第一个空(0 或 null)插槽,然后将与特定项目对应的整数添加到该字段中。我正在阅读一些关于复杂类的内容,但没有阅读任何关于能够以这种方式对一组属性进行排序的内容。有任何想法吗?

4

2 回答 2

1

我不清楚你的想法,但我认为你需要这样的东西:

[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...
}
于 2013-08-05T08:39:12.300 回答
0

生成的类应该是部分的。 部分类帮助 这意味着您无需接触生成的类部分即可添加额外的属性和方法。

于 2013-08-04T22:44:24.447 回答