我有一个名为 Property 的类,我只需要在我的列表视图中显示几个项目。我创建了一个 Linq 查询以仅返回我的控制器 Index 方法中的那些项目。我已经实例化了
List<Property> props = new List<Property>();
在控制器的 Index 方法中,但是当我尝试“添加”到道具列表“props.Add(getProp);” 我收到此错误:
“匹配的最佳重载方法System.Collections.Generic.List<PropertyEntities.Property>.Add(PropertyEntities.Property)
有一些无效参数”
我在下面包含了 PropertyControler 索引方法和我正在使用的 Property 类:
public ViewResult Index()
{
//var properties = db.Properties.Include(p => p.PropertyType);
var getProp = from p in db.Properties
orderby p.PropName
select new
{
p.PropertyID,
p.PropName,
p.PropertyStatus,
p.City,
p.State,
p.Bedrooms,
p.PropertyType
};
List<Property> props = new List<Property>();
props.Add(getProp);
return View(props);
}
public partial class Property
{
//public int temp { get; set; }
// Values stored in the view Garage DropDownList
public enum GarageType{ None = 0, One = 1, Two = 2, Three = 3, Four = 4, Carport = 5, Other = 6 }
public enum PropertyStatusType { Leased = 0, Available = 1, Selling = 2, Sold = 4 }
[Required]
[ScaffoldColumn(false)]
public int PropertyID { get; set; }
[Required(ErrorMessage="Generic name for referencing."),
StringLength(30, ErrorMessage = "Property name max length is 30 characters."),
Display(Name="Property Name", Prompt="Enter Property Name")]
public string PropName { get; set; }
[Required(ErrorMessage="Select a status for this property."),
Display(Name="Property Status")]
public int PropertyStatus { get; set; }
// used in corolation with the property PropertyStatus
// to allow dropdown list to except Enum values
// PropertyStatusType
public PropertyStatusType PropertyEnumStatus
{
get { return (PropertyStatusType)PropertyStatus; }
set { PropertyStatus = (int)value; }
}
[Required(ErrorMessage="Select a property type.")]
public int PropertyTypeId { get; set; }
[Required(ErrorMessage="Address is required."),
StringLength(75, ErrorMessage="Address max length is 75 characters.")]
public string Address { get; set; }
[Required(ErrorMessage = "City name is required."),
StringLength(25, ErrorMessage = "City max length is 25 characters.")]
public string City { get; set; }
[Required(ErrorMessage = "State abbreviation is required."),
StringLength(2, ErrorMessage = "State max length is 2 characters.")]
public string State { get; set; }
[Required(ErrorMessage = "Zip Code is required."),
StringLength(5, ErrorMessage = "Zip Code max length is 5 numbers."),
Range(00001, 99999)]
[Display(Name="Zip Code")]
public string ZipCode { get; set; }
[Required(ErrorMessage="Square feet is required."),
Display(Name="Square Feet")]
public int SquareFeet { get; set; }
[Required(ErrorMessage = "Number of bedrooms is required."),
Range(0,10)]
public int Bedrooms { get; set; }
[Required(ErrorMessage="Number of bathrooms is required."),
Range(0,20)]
public int Bathrooms { get; set; }
public int Garage { get; set; }
// used in corolation with the property Garage
// to allow dropdown list to except Enum values
// of GarageType
[NotMapped]
public GarageType GarageEnumValue
{
get { return (GarageType)Garage; }
set{ Garage = (int)value; }
}
[Display(Name="Morgage Amount"),
Range(0.00, 100000000.00)]
public Nullable<decimal> MonthlyMortgage { get; set; }
[Display(Name="HOA Dues"),
Range(0.00, 1000.00)]
public Nullable<decimal> HousingDues { get; set; }
[Display(Name="Property Tax"),
Range(0.0, 100000000.00)]
public Nullable<decimal> Tax { get; set; }
[Display(Name="Property Insurance"),
Range(0.0, 100000000.00)]
public Nullable<decimal> Insurance { get; set; }
[Display(Name="Assessed Value"),
Range(0.0, 100000000.00)]
public Nullable<decimal> AssessedValue { get; set; }
[Display(Name="Current Value"),
Range(0.0, 100000000.00)]
public Nullable<decimal> CurrentValue { get; set; }
[DataType(DataType.MultilineText)]
[StringLength(500, ErrorMessage="You have reached the allotted 500 characters.")]
public string Notes { get; set; }
public virtual ICollection<Lease> Leases { get; set; }
public virtual PropertyType PropertyType { get; set; }
public virtual ICollection<Service> Services { get; set; }
}