是否有类似于ConcurrentDictionary<TKey,TValue>
和的数据结构Interlocked.Exchange<T>(...)
,它允许您自动设置新值并检索分配给任意键的旧值?任何超载似乎都不可能AddOrUpdate(...)
。
我正在使用 Entity Framework 6 Code First 在数据库中存储大型 POCO 模型。该模型恰好有 1000 个属性(不要问哈哈**),这意味着它必须拆分为多个 SQL 表(列限制为 1024)。我知道这通常是通过指定各个列来完成的,如下所示:
modelBuilder.Entity<HugeEntity>.Map(m =>
{
m.Properties(e => new { e.Prop1, e.Prop2 });
m.ToTable("HugeEntity1");
}.Map(m =>
{
m.Properties(e => new { e.Prop3, e.Prop4 });
m.ToTable("HugeEntity2");
};
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何方法可以做到这一点,而不必单独指定属性。理想情况下,它可以根据给定的列限制(即 1000)自动对实体进行分区。
即使没有标准方法,最简单的方法是什么?模型上的属性可能会发生变化,因此我真的希望避免在多个地方详尽地列出它们。
任何建议表示赞赏!
**上下文:这是一个域模型,表示应在某个网页上捕获的用户输入的数据。它还在 WebAPI 中公开。我的团队考虑了键/值对方法,但认为这将使未来使用 WebAPI 的 BI 应用程序更难以使用数据。