Sco*_*lor 9 entity-framework-core asp.net-core-mvc
我刚开始用EF7学习MVC6.我有一个存储过程,我想返回我模型中的一部分字段.如果我没有返回模型中的每个字段,我会得到"'FromSql'操作的结果中不存在所需的列'FirstName'".
有没有办法让一些列不需要,所以我只能返回我的模型中的一部分字段?
模型:
public class LoginViewModel
{
[Key]
public int UserID { get; set; }
[Required]
[Display(Name = "Username")]
public string Username { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Protected ID")]
public string ProtectedID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的测试程序:
CREATE PROCEDURE [dbo].[aaa_TopXXUsersTest]
@NumToReturn int = 10
AS
BEGIN
SET NOCOUNT ON;
select top(@NumToReturn) UserID, LastName, Username,Password, ProtectedID from Users where Deleted = 0
END
Run Code Online (Sandbox Code Playgroud)
最后,我的控制器代码:
public IActionResult Index()
{
var user = _context.Set<LoginViewModel>().FromSql("dbo.aaa_TopXXUsersTest @NumToReturn = {0}", 20);
return View(user);
}
Run Code Online (Sandbox Code Playgroud)
如果我在我的存储过程中包含我的模型的所有字段,那么调用工作正常,但我似乎无法返回一个子集.有没有办法让一些字段不需要?
小智 5
使用的[NotMapped]属性具有名字。
该
NotMapped属性可以应用于我们不想在数据库中创建对应列的实体类的属性。
public class LoginViewModel
{
[Key]
public int UserID { get; set; }
[Required]
[Display(Name = "Username")]
public string Username { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Protected ID")]
public string ProtectedID { get; set; }
[NotMapped]
public string FirstName { get; set; }
public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13238 次 |
| 最近记录: |