我不确定如何准确地表达我的问题,这可能就是为什么我在任何地方都找不到这样的例子。我正在使用 MVC4 和 EF5(也是 Web API),但我不确定如何继续使用模型,因为我以前从未真正需要对它们做太多事情。我正在围绕元素周期表做一些事情,我想制作它,以便为具有电子配置的元素建立一个列表。但是,我希望它只是根据输入顺序自动编号。如何告诉 EF 自动增加字段?基本上就像一个没有限制的主键字段。到目前为止,这是我所拥有的-我只是不确定如何进行:
public class Elements
{
public int ElementID { get; set; }
public string Name { get; set; }
public int AtomicNumber { get; set; }
public string Symbol { get; set; }
public virtual Categories Category { get; set; }
public virtual States State { get; set; }
public virtual Occurences Occurence { get; set; }
public virtual ICollection<Configurations> Configuration { get; set; }
}
public class Categories
{
public int CategoryID { get; set; }
public string CategoryName { get; set; }
}
public class States
{
public int StateID { get; set; }
public string StateName { get; set; }
}
public class Occurences
{
public int OccurenceID { get; set; }
public string OccurenceName { get; set; }
}
public class Configurations
{
public int ConfigurationID { get; set; }
public int Order { get; set; }
public int Value { get; set; }
}
看上面我想要的是任何时候将值添加到 Configurations.Order 值从 1 开始并随着每个新的“行”而增加,但仅限于该特定的 ElementID。
那有意义吗?我正在考虑使用数据注释,但除了关键字段之外,我找不到任何匹配的东西,但这会使每个订单成为唯一的数字——我不想要。我觉得我没有正确表达这一点,因为我一直在寻找所有的东西来弄清楚,所以这是一张图片!耶!
从程序化的角度来看,这很可能是更好的事情。即使这个数据在一个蓝色的月亮上改变一次,我想尽可能地尝试通过 EF 来做,这样我就知道怎么做了。
提前致谢。此外,如果您发现任何其他明显的错误,请务必告诉我 :) 我很少与 web 开发人员一起工作,所以我确信有办法做得更好。