尝试检索MVC3 Internet应用程序的数据时编译器错误CS1061

时间:2012-12-04 10:43:07

标签: asp.net-mvc-3 linq entity-framework-4.1 html.textboxfor

我正在创建一个MVC3 Internet应用程序来从数据库中获取数据。

我收到以下错误:

Compiler Error Message: CS1061: 'System.Collections.Generic.IEnumerable<Project.Models.MyModel>' does not contain a definition for 'SId' and no extension method 'SId' accepting a first argument of type 'System.Collections.Generic.IEnumerable<Project.Models.MyModel>' could be found (are you missing a using directive or an assembly reference?)

这是我的代码:

控制器:

public ActionResult RetrievedData()
        {
            MyModel mymodel=new MyModel();
            IEnumerable<MyModel> res = mymodel.RetrieveData();
            return View();
        }

型号:

public class MyModel
    {
        public int SId { get; set; }
        public string StrName { get; set; }
        public DateTime? DateCreated { get; set; }

        Test_2Entities entity = new Test_2Entities();
public IEnumerable<MyModel> RetrieveData()
        {
            var query = (from s in entity.StudentInfo
                         where s.SId == 1
                         select new MyModel()
                         {
                             SId = s.SId,
                             StrName = s.SName,
                             DateCreated = s.DateCreated
                         });

            return query.AsEnumerable();

        }

查看:

@model IEnumerable<DateAndTimecontrol.Models.MyModel>
    @Html.BeginForm("GetData", "Home", FormMethod.Get)
            {
            Time Picker:<input type="text" id="timepicker2" />
            @Html.TextBoxFor(m=>m.SId,"",new{id="sname"}) //Error at this line

            <br />
            <br />
            Date Picker:<input type="text" id="datepicker2" /><br />
            <input type="text" id="txtName2" /><br />
            <input type="submit" value="GettingDataFromDB"/>
            }

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您正在获取实体的集合,但尝试将其视为单个实体。

如果您只想检索单个值,则应使用FirstFirstOrDefaultSingle或类似的内容(具体取决于您的具体需求)。

如果你想真正检索一个集合,你也应该在你的视图中以这种方式处理它。