1

以下のモデルがあります。

[Table("WebsiteText")]
public class WebsiteTextModel
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int ID { get; set; }

    public string WebsiteSection { get; set; }

    [DataType(DataType.MultilineText)]
    public string TextToDisplay { get; set; }
}

以下の DataContext クラスがあります。

public class WebsiteTextContext : DbContext
{
    public WebsiteTextContext()
        : base("DefaultConnection")
    {

    }

    public DbSet<WebsiteTextModel> WebsiteText { get; set; }
}

LINQ を使用してホームページの Web サイト テキストを取得し、それを ViewBag に詰め込みたいので、これを試しています。

public ActionResult Index()
{
    var context = new WebsiteTextContext();

    var result = from x in context.WebsiteText
                 where x.WebsiteSection == "Home Page"
                 select x.TextToDisplay;

    ViewBag.Message = result;

    return View();
}

ただし、var は IQueryable であり、それを文字列にする方法がわかりません。これは機能しません:

string result = from x in context.WebsiteText
    where x.WebsiteSection == "Home Page"
    select x.TextToDisplay;

これは機能しません:

var result = from x in context.WebsiteText
    where x.WebsiteSection == "Home Page"
    select x.TextToDisplay.ToString; //It's still IQueryable<String>

そして、これは機能しません:

var result = from x in context.WebsiteText
    where x.WebsiteSection == "Home Page"
    select x.TextToDisplay.ToArray; //It's now IQueryable<char[]>

私は何をする必要がありますか?

4

1 に答える 1

4
string result = (from x in context.WebsiteText
where x.WebsiteSection == "Home Page"
select x.TextToDisplay).FirstOrDefault();

あなたも持ってFirstSingleますSingleOrDefault

それらをすべて調べて、最適なバージョンを選択してください。

于 2012-11-13T19:51:50.897 に答える