Cir*_*zer 4 c# asp.net entity-framework
我有一个实体框架模型,其中包含一个Assets表,如下所示:
public partial class Asset
{
public int Switch { get; set; }
public string Port { get; set; }
public string Name { get; set; }
public string Connection { get; set; }
public string Interface { get; set; }
public string ConnectionUser { get; set; }
public string ConnectionDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我试图只返回'名称'列.这是我用来执行此操作的代码:
// create the entity model for DB operations
acls3Entities entities = new acls3Entities();
List<Asset> assets = entities.Assets.ToList();
foreach (Asset asset in assets)
{
Console.WriteLine(string.Format("{0}", asset.Name));
};
Run Code Online (Sandbox Code Playgroud)
然而,它给出了我在定义'资产'的那一行的帖子标题中引用的错误.我该如何解决这个问题?
GUID不是int,在数据库中,Switch是GUID.
GUID是由以下各项分割的十六进制数字 -
以下是GUID的三个示例:
839E4FB1-F5F5-4C46-AFD1-000002CC625F
06F6D8BA-C10D-4806-B190-000006BA0513
2D3343FD-3E8A-4B33-9198-00002031F5F8
int不能包含字母,也不能包含 -
所以你的资产更像是:
public partial class Asset
{
public Guid Switch { get; set; } // here <- GUID
public string Port { get; set; }
public string Name { get; set; }
public string Connection { get; set; }
public string Interface { get; set; }
public string ConnectionUser { get; set; }
public string ConnectionDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
还要确保您的edmx文件始终是最新的,这是您在遇到实体错误时应该检查的内容.
为此:
在项目中找到你的.edmx文件(你的文件可能叫做acls3Entities.edmx)
删除该页面内的所有内容......看起来有点像frigthening?在这样做之前复制你的项目,这样你就可以备份.
右键单击白色虚空中的某个地方,然后选择Update from database看起来像那样的东西(我的视觉工作室不是英文...)
选择您需要的每个表/视图/存储过程,这就是全部