簡體   English   中英

實體框架6-獲取字段大小

[英]Entity Framework 6 - Getting the field size

我需要使用Entity Framework 6獲取模型中列的字段大小(該模型在數據庫中定義,並且在運行時未知字段大小)。

我在這里看到一些EF4 / 5的示例代碼:

實體框架5 MaxLength

但不幸的是,此代碼在EF6中已損壞:

 var test = objectContext.MetadataWorkspace.GetItems(DataSpace.CSpace);

        if(test == null)
            return null;

        var q = test
            .Where(m => m.BuiltInTypeKind == BuiltInTypeKind.EntityType)
            .SelectMany(meta => ((EntityType) meta).Properties
            .Where(p => p.Name == columnName && p.TypeUsage.EdmType.Name == "String"));

原因是objectContext.MetadataWorkspace.GetItems似乎不再返回與以前相同的集合類型,因此您不能僅使用“ where”方法等以相同的方式搜索集合集。

是否有人對如何在EF6中解決此問題有任何想法?

問題歸結於我的使用/包含。 這些是必需的:

using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.Entity.Core.Metadata.Edm;
using System.Linq.Expressions;
using System.Linq;
using System;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM