0

我在尝试从 SQL Server 数据库中获取模型的属性时遇到了麻烦。我已经在我的模型上定义了该属性,但是当我进行 Linq 查询时,它不允许我获取该属性。

这是我的模型:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Web.Mvc;

namespace ProgramaAlimenticio.Models
{
    public class RutaMD
    {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public virtual int pk_ruta { get; set; }

        [Display(Name = "Ruta")]
        public virtual string nombre { get; set; }

        [Display(Name = "Proveedor")]
        public virtual Nullable<int> fk_proveedor { get; set; }

        [Display(Name = "Programa")]
        public virtual int fk_programa { get; set; }
    }

    [MetadataType(typeof(RutaMD))]
    public partial class Ruta {  }
}

不可用的属性是 fk_programa。

当我进行下一个查询时,问题发生了:

var programas = from r in db.Ruta
                join p in db.Programa on r.fk_programa equals p.pk_programa
                into o
                select o;
4

1 回答 1

0

假设其中db.RutaRuta项目,而不是RutaMD项目,那么您的Ruta班级似乎没有fk_programa属性。

[MetadataType(typeof(RutaMD))]
public partial class Ruta {  }

也许这个属性应该在部分类的另一半:你有没有仔细检查过它确实在那里?而且它是公开的?而且这个名字是一样的吗?它有一个get叔?并且getter 是公开的?

于 2013-11-13T16:45:46.710 回答