Проверьте это:
scala> val df = Seq(
| (0,"Load","employeeview", "employee.empdetails", null ),
| (1,"Query","employeecountview",null,"select count(*) from employeeview"),
| (2,"store", "employeecountview",null,null)
| ).toDF("id", "Operation","ViewName","DiectoryName","Query")
df: org.apache.spark.sql.DataFrame = [id: int, Operation: string ... 3 more fields]
scala> df.show()
+---+---------+-----------------+-------------------+--------------------+
| id|Operation| ViewName| DiectoryName| Query|
+---+---------+-----------------+-------------------+--------------------+
| 0| Load| employeeview|employee.empdetails| null|
| 1| Query|employeecountview| null|select count(*) f...|
| 2| store|employeecountview| null| null|
+---+---------+-----------------+-------------------+--------------------+
scala> val dfcount = df.count().toInt
dfcount: Int = 3
scala> :paste
// Entering paste mode (ctrl-D to finish)
for( a <- 0 to dfcount-1){
val operation = df.filter(s"id=${a}").select("Operation").as[String].first
operation match {
case "Query" => println("matching Query") // or call a function here for Query()
case "Load" => println("matching Load") // or call a function here for Load()
case "store" => println("matching store") //
case x => println("matched " + x )
}
}
// Exiting paste mode, now interpreting.
matching Load
matching Query
matching store
scala>
Вы должны настроить View для приема объекта типа MembershipUserCollection
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MembershipUserCollection>" %>
В вашем действии:
public ActionResult GetUsers()
{
var users = Membership.GetAllUsers();
return View(users);
}
тогда вы можете написать в своем представлении что-то вроде:
<ul>
<%foreach (MembershipUser user in Model){ %>
<li><%=user.UserName %></li>
<% }%>
</ul>
[Edit] В частности, как выглядит представление (например, что оно ожидает получить в качестве модели, как вы анализируете коллекцию и т. Д.)
Вы можете опубликовать какой-нибудь код ? Я делаю нечто подобное, но у меня нет проблем.
Похоже, вам нужно сделать ваше представление строго типизированным. Ваше представление должно быть производным от ViewPage
, а не только от ViewPage
. Другое решение - преобразовать модель в MembershipUserCollection в вашем представлении:
<% var members = (MembershipUserCollection) ViewData.Model %>
<% foreach (MembershipUser user in members) { %>
<%-- Do Stuff with the user --%>
<% } %>
На вашей странице просмотра, вверху, вам нужно установить тип страницы просмотра. IE:
В верхней части представления, в первой строке разметки, вы увидите что-то вроде этого:
Inherits="System.Web.Mvc.ViewPage"
Измените это на:
Inherits="System.Web.Mvc.ViewPage<MembershipUserCollection>"
или другой тип, которому вы пытаетесь передать вид. Объект «Модель» теперь будет иметь тип MembershipUserCollection, который вы можете безопасно перебирать.