نمایش نتایج 1 تا 4 از 4

نام تاپیک: فراخوانی یک رکورد جدول (Entity Framework)

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    2,010

    فراخوانی یک رکورد جدول (Entity Framework 3.5)

    سلام

    من یک جدول دارم: (Requierments)

    Screenshot 2024-11-07 072729.png
    برای فراخوانی یک رکورد بر اساس ID یک تابع کلی دارم که می تونم با استفاده از اون رکورد هر جدول از دیتابیس Projects رو فراخوانی کنم:


    Shared Function GetProjectsEntry(Of TableType, IDType)(ID As IDType) As TableType
    Dim IDParam As New ObjectParameter("ID", ID)
    Dim q As String =
    String.Format("SELECT VALUE {0} FROM {0} WHERE {0}.ID = @ID", GetType(TableType).Name)
    Return Projects.CreateQuery(Of TableType)(q, IDParam).FirstOrDefault
    End Function


    همه کدهای مرتبط با تابع:

    Imports System.Data.Objects
    Class ApplicationData
    Friend Shared Projects As New ProjectsEntities
    Shared Function GetProjectsEntry(Of TableType, IDType)(ID As IDType) As TableType
    Dim IDParam As New ObjectParameter("ID", ID)
    Dim q As String =
    String.Format("SELECT VALUE {0} FROM {0} WHERE {0}.ID = @ID", GetType(TableType).Name)
    Return Projects.CreateQuery(Of TableType)(q, IDParam).FirstOrDefault
    End Function
    ...
    End Class


    برای نمایش اطلاعات یک رکورد از جدول Requierments از این دستورات استفاده می کنم (Console Application):


    Imports System.Reflection

    Protected Friend Shared Sub ShowRecord()
    Console.ForegroundColor = ConsoleColor.White
    Console.Write("{0} Type Requierment-ID to Show Information: ", vbTab)
    Console.ForegroundColor = ConsoleColor.Gray
    Value = Console.ReadLine
    If Value.Length = 0 Then Exit Sub
    Try
    Dim Requierment As Requirements
    Requierment = ApplicationData.GetProjectsEntry(Of Requirements, Integer)(Val(Value))
    If Requierment Is Nothing Then
    Console.ForegroundColor = ConsoleColor.Red
    Console.WriteLine("{0} Requierment Not Found! (ID = {1})", vbTab, Value)
    Exit Sub
    End If
    Console.WriteLine()
    Console.ForegroundColor = ConsoleColor.DarkGreen
    Console.Write("{0} Requierment ID: ", vbTab)
    Console.ForegroundColor = ConsoleColor.Gray
    Console.WriteLine("{0}", Value)
    Console.ForegroundColor = ConsoleColor.White
    Console.WriteLine("{0} {1}", vbTab, StrDup(30, "─"))
    WriteRequiermentFields(Requierment)
    Console.ForegroundColor = ConsoleColor.White
    Console.WriteLine("{0} {1}", vbTab, StrDup(30, "─"))
    Catch ex As Exception
    Console.WriteLine(ex.Message)
    End Try
    End Sub



    Protected Friend Shared Sub WriteRequiermentFields(
    R As Requirements)
    'Get Item─Name Max─Length....
    Dim MaxLen As Integer = 0
    Dim Value As Object
    Dim PInfo As System.Reflection.PropertyInfo
    For Each Field As String In SortedRequiermentFieldNames
    If Field.ToLower = "id" Then Continue For
    PInfo = GetType(Requirements).GetProperty(Field)
    Value = PInfo.GetValue(R, New Object() {})
    If IsDBNull(Value) = True Then Continue For
    If String.IsNullOrEmpty(Value.ToString.Trim) = False Then
    If Field.Length > MaxLen Then MaxLen = Field.Length
    End If
    Next


    If MaxLen = 0 Then
    Console.ForegroundColor = ConsoleColor.DarkCyan
    Console.WriteLine("{0} Requierment has not any Information.", vbTab)
    Exit Sub
    End If


    '──────────────── ──────
    For Each Field As String In SortedRequiermentFieldNames
    If Field.ToLower = "id" Then Continue For
    PInfo = GetType(Requirements).GetProperty(Field)
    Value = PInfo.GetValue(R, New Object() {})
    If IsDBNull(Value) = True Then Continue For
    If String.IsNullOrEmpty(Value.ToString.Trim) = False Then
    WriteField(Field, Value, MaxLen + 1)
    End If
    Next
    End Sub



    Public Shared ReadOnly Property SortedRequiermentFieldNames() As String()
    Get
    Dim Expr As String() =
    {"ID", "Title", "Explain", "ComputerName",
    "Disk", "Path"}
    Return Expr
    End Get
    End Property



    Sub WriteField(Name As String, value As String, Optional MaximumLen As Integer = 9)
    FillName(Name, MaximumLen)
    Console.ForegroundColor = ConsoleColor.Green
    Console.Write("{0} {1}: ", vbTab, Name)
    Console.ForegroundColor = ConsoleColor.White
    Console.WriteLine("{0}", value)
    End Sub
    آخرین ویرایش به وسیله ROSTAM2 : شنبه 19 آبان 1403 در 04:35 صبح

تاپیک های مشابه

  1. تفاوت entity framework ، linq to entity و Entity Framework Code First
    نوشته شده توسط negar.rafie در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: دوشنبه 24 آذر 1393, 10:43 صبح
  2. تفاوت entity framework با linq to entity
    نوشته شده توسط negar.rafie در بخش C#‎‎
    پاسخ: 9
    آخرین پست: شنبه 22 آذر 1393, 08:48 صبح
  3. سوال: ایجاد برنامه 3لایه با entity framework
    نوشته شده توسط faryadezamane در بخش WPF
    پاسخ: 0
    آخرین پست: سه شنبه 21 مرداد 1393, 08:48 صبح
  4. مشکل در نمایش اطلاعات با entity framework 4
    نوشته شده توسط Sir-Programmer در بخش C#‎‎
    پاسخ: 1
    آخرین پست: پنج شنبه 16 آبان 1392, 18:30 عصر
  5. entity framework
    نوشته شده توسط elahe.9817 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: چهارشنبه 02 مرداد 1392, 21:08 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •