Laden...

Forenbeiträge von _qwer_ Ingesamt 62 Beiträge

20.02.2009 - 22:18 Uhr

hab ich auch gelesen. mit .net4.0 und vs2010 soll alles besser werden, wers glaubt...

20.02.2009 - 21:48 Uhr

jap, NHibernate ist definitiv ein ORM wie man es sich vorstellt!

für alle die mit Linq-To-SQL und EF nicht zufrieden sind, kann ich wärmstens NHibernate empfehlen! man brauch wohl doch nicht noch weitere 10 jahre warten bis microsoft es endlich geschafft hat ein vernünftiges ORM auf den markt zu bringen...

have fun!

20.02.2009 - 16:50 Uhr

Hallo,

ich habe selbiges Problem: NHibernate.MappingException: Unknown entity class:...

Hast du vielleicht den klassischen NHibernate Einsteigerfehler gemacht und vergessen die Build Action bei deinen *.hbm.xml Files auf Embedded Resource zu stellen?

Ja ich bin Einsteiger und habe die Build Action nicht auf Embedded Resource gestellt, weil ich nicht weiß was damit gemeint ist und wie man das macht. Kann mir jemand erklären wie ich das unter VS einstelle?

Dann hätte ich noch eine Frage, und zwar muss man für jede EntityClass jeweils die *.hbm.xml fürs mapping per Hand anlegen oder geht das auch -anhand der EntityClasses- per "Knopfdruck"?

Gruß,
qwer

EDIT: Embedded Resource, habs gefunden. einfach nur unter den eigenschaften der datei auf Embedded Resource einstellen.

19.02.2009 - 14:19 Uhr

echt? also ich hab zwischen 15 und 16 den mädchen hinterher geschaut 8)
da war MS für mich erst recht tabu 😁

19.02.2009 - 13:50 Uhr

@qwer:
Es steht überall das EF das nicht kann nur Du bist anscheinend nicht gewillt das zu akzeptieren/lesen.

ja richtig, ich kanns nicht akzeptieren, weil mich das viel geld kostet!
ein vernünftiges ORM ist und bleibt für MS leider nun mal unerreichbare zukunftsmusik

MS basching macht aber spass!

19.02.2009 - 12:53 Uhr

kann ich leider nicht, muss mich mit antiken Technologien rumärgern 😉

19.02.2009 - 12:36 Uhr

Den umgekehrten Weg des sogenannten Forward Engineering wird vom ADO.NET Entity Framework im Gegensatz zu anderen ORM-Lösungen auf dem Markt übrigens nicht unterstützt. Bei diesem Verfahren werden erst die Geschäftsklassen modelliert und anschliessend die relationalen Strukturen in der Datenbank generiert.

und das ist einfach nur arm! ich muss viel geld für die entwicklungsumgebung ala microschrott ausgeben und erhalte dafür nur ansatzweise den Komfort den die Konkurrenz bietet.... traurig traurig...

kann ich mit linqtosql Forward Engineering betreiben?

19.02.2009 - 12:07 Uhr

danke, aber das bestätigt nur, das du hier mehr gluck scheissen kannst als nötig. desweiteren bestätigt es, dass du mich nicht verstehen willst oder überhaupt im stande dazu bist.

einen schönen tag noch...

19.02.2009 - 11:58 Uhr

Auch hibernate kann aus komplexen Modelle keine DB erstellen

doch, das kann es !!!

19.02.2009 - 11:58 Uhr

du musst dich ja für ganz schlau halten, oder?
ich glaube eher das du keinen meiner sätze verstanden hast!

19.02.2009 - 11:51 Uhr

Das kann er nicht. Es ist auch nicht seine Aufgabe

moment mal, wenn EF das nicht kann, dann sollte man das EF auch nicht als ORM definieren! vergiss mal RoR, ein besseres beispiel ist Hibernate in verbindung mit EJB! das grundlegende konzept was hinter dem ORM steht, ist das ich SQL so gut wie nicht mehr anfassen muss. Wenn ich mir meine entitäten modelliere und daraus kein relationales abbild erstellen kann, macht das ORM ala microsoft keinen sinn! ich finds einfach nur traurig das MS heut zu tage nicht im stande ist dies zu realisieren, mit hibernate ist das schon seid jahren möglich!

19.02.2009 - 11:13 Uhr

so bin ich nun mal 😉

also versuchen wir es noch mal.
ich erstelle mir ein leeres EDM und modelliere mir meine datenstruktur. diese möchte ich nun mittels wenigem aufwand in die datenbank mappen, wie gehe ich dabei vor?

hinweis: ich habe kein bock meine tabellen per hand anzulegen, das soll der OR-Mapper für mich erledigen.

ps.
ich weiß sehr wohl wozu ein OR-Mapper im stande ist, sehr gute erfahrungen habe ich mit Hibernate und EJB gemacht! mich ärgert es nur, das es mit dem EF nicht so elegant (anscheinend) zu handeln ist.

19.02.2009 - 10:53 Uhr

Macht sich übrigens immer besser, die existierenden Tabellen zu nehmen, und dann das EDM zu bearbeiten
LaTino

das ist aber nicht sin und zweck des O/R-Mappings. das konzept welches dahinter steht besagt, das keine datenbank technische eingriffe mehr nötig sind. was bringt mir der O/R-Mapper wenn ich meine Tabellen per hand anlegen und erst dann ins EDM überführen soll? bestes beispiel hierfür, Ruby On Rails, Enterprise Java Beans, hibernate.... warum bekommt microschrott das nicht auf die reihe? kann doch echt nicht sein....

19.02.2009 - 10:33 Uhr

verwendetes Datenbanksystem: <SQL Server 2008>

hallo,

ich versuche mich gerade in das entity framework einzuarbeiten und da stellt sich schon meine erste frage.

ich habe mir ein leeres EDM erstellt, zwei entitäten (A u. B) im designer über die toolbox hinzugefügt und sie miteinander verknüpft (1:n). nun würde ich gerne meine zwei entitäten physikalisch mappen lassen. funktioniert das nur mittels dem kommandozeilenproggi edmgen.exe? es gibt doch bestimmt eine möglichkeit aus dem konzeptionellen EDM-Diagramm die physikalischen tabellen zu mappen?! alles andere wäre ja nur umständlich...

in allen tutorials die ich bisher gefunden habe, sind nur beispiele wie man eine bestehende datenbank samt tabellen ins EDM überführt. schön das man das machen kann, aber für ein neu zu entwerfendes projekt fehl am platz.

hoffe da weiß jemand mehr und kann mir eine hilfestellung geben.

meine umgebung:
VS2008 SP1
.NET Framework 3.5 SP1
MS SQL Server 2008 SP1

11.12.2008 - 21:18 Uhr

Hallo Forum,

ich versuche gerade in meinem Sourcecode mit Hilfe von Genereics einige Redundanzen zu beseitigen.

Folgendes ist ja ohne weiteres möglich:


    class A {/*...*/}
    class B : A {/*...*/}
    class C : A {/*...*/}
    class X
    {
        public void toSomething<T>() where T: A, new()
        {
            A instance = new T();
            instance.foo();
        }

        public void start()
        {
            toSomething<B>();
            toSomething<C>();
        }
    }

allerdings kann ich dem Konstruktor von T keine Parameter übergeben. Sowas wie

A instance = new T(variabel);

ist gar nicht möglich, zumindest funzt das nicht. Geht das generell nicht oder muss ich der where-Klausel noch was mit geben?

29.10.2008 - 14:06 Uhr

nein in diesem fall würde das nicht gehen. also scheint es prinzipiell nur eines zu geben, design überdenken?!

29.10.2008 - 13:32 Uhr

gut, wir sind uns alle selbiger meinung, dass eine typabfrage sehr schlecht ist, wollte ich sowieso vermeiden.

@herbivore, folgendes habe ich jetzt nicht ganz verstanden:

Wichtig ist eher, dass du aus public static void Test(MyBase mybase) in MyBase sowas machst wie public virtual/abstract void Test() und das in den Unterklassen überschreibst

moment, ich soll die methode


public static void test(MyBase mybase)

die ja in der klasse MyTest implementiert ist, in die Baseclass MyBase als abstract deklarieren und in die subklassen (MyA und MyB) implementieren? Versteh ich das richtig? Das würde ja meine grundlegende funktionalität zerschießen. Evtl. wäre es hilfreich (zum besseren verständnis) das ganz mal als code zu posten.

29.10.2008 - 10:08 Uhr

d.h. du willst damit sagen das ich nicht auf die properties der jeweiligen subklassen zugreifen soll, sonder auf eine entsprechende methode?

29.10.2008 - 09:43 Uhr

Hallo Rainbird, Hallo herbivore,

auf verschiedene Typen abzufragen wollte ich vermeiden, weil ich auch der Meinung bin, das es ein Zeichen für schlechtes Design ist. Man könnte natürlich die Properties alle in die Basisklasse stecken. Nachteil wäre dann allerdings, dass über die Klasse MyB auch die Properties von MyA zugänglich wären und genau dies wollte ich ebenfalls vermeiden (da die unterklassen verschiedene Properties verwenden). Da müsste es doch ein paar Tricks geben?

Gruß,
qwer

28.10.2008 - 19:18 Uhr

Hallo Forum,

zunächst mein Beispielcode:


namespace ConsoleApplication1
{
    abstract class MyBase
    {
        protected abstract void tuIrgendetwas();
    }

    class MyA : MyBase
    {
        private int a;
        private int b;

        public int A
        {
            get { return a; }
        }

        public int B
        {
            get { return b; }
        }
    }

    class MyB : MyBase
    {
        private int c;

        public int C
        {
            get { return c; }
        }
    }

    static class MyTest
    {
        public static void test(MyBase mybase)
        {
           mybase. // schade, Property C der Klasse MyB nicht erreichbar!            
        }
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            MyTest.test(new MyB());
        }
    }
}

erzielen möchte ich, dass ich in der Methode MyTest.test(MyBase mybase) über das Objekt MyBase auf die Properties der Klasse MyA oder MyB (je nach dem welcher Typ übergeben wird) zugreifen kann (in der obigen Implementierung funzt das natürlich nicht, da die Basisklasse MyBase keine Properties enthält). Die Methode Test(MyBase mybase) sollte dynamisch gehalten werden, weil erst zur Laufzeit bestimmt wird, welcher Typ übergeben wird. Casten und Abfragen um welchen Typ es sich handeln könnte, würde ich gerne vermeiden.

Hoffe ich konnte meine Problematik einigermaßen verständlich rüber bringen. Ich denke der Code verdeutlicht es besser. Freue mich schon auf Tipps und Anregungen.

Grüße,
qwer

14.09.2008 - 12:51 Uhr

interessant, mit OLEDB scheint es dieses probleme nicht zu geben, zumindest sind meine daten richtig eingelesen worden. worin liegt eigentlich der unterschied zwischen ODBC und OLEDB?

13.09.2008 - 10:01 Uhr

das geht aber nicht in die andere richtung, also ich keine xls-files damit auslesen?

13.09.2008 - 09:43 Uhr

ODBC scheint nur richtig zu funktionieren wenn die excel-tabellen eine wohlgeformte datenbank struktur aufweisen. dies ist in meinen excel-files nicht der fall, ergo scheint hierfür ODBC nicht der richtige ansatz zu sein. gibt es noch andere alternativen, außer com-objekte?

12.09.2008 - 23:18 Uhr

die eigentliche frage sollte sein wieso du deine daten in excel speicherst.

ist nicht meine entscheidung 😉

was für daten sind denn das und was möchtest du damit anstellen?

hehe, gute frage 🙂
aber schon mal was von datenschutz gehört ? 😉

danke für deinen code. aber auch damit verhält es sich bei mir irgendwie seltsam. was mir aufgefallen ist, wenn leerzeilen am anfang in der xls-datei stehen, deren zellen nicht formatiert sind, entstehen auf die nachfolgenden daten unregelmäßgkeiten. da fehlt hier mal was, da mal was. sowie nur eine zelle in der leerzeile formatiert ist, egal wie, sind die daten in den nachfolgenden zeilen auch richtig. langsam hab ich das gefühl, hier spuckts.

**EDIT: **jedenfals ist es so, das der reader daten verschluckt und ich weiß nicht warum.

12.09.2008 - 20:39 Uhr

hallo,

zum einlesen von xls-files möchte ich gerne auf com-objekte verzichten. welche alternativen gibt es noch und welche sind zu empfehlen?

ich möchte gerne meine xls-files zunächst in datatables speichern. dazu habe ich mittels ODBC meinen ersten versucht gestartet. leider stellte sich nach kurzer zeit heraus, das diverse probleme entstehen. wenn z.b. die daten im xls-file in erster zeile beginnen, werden über den OdbcDataReader komischerweise und nur teilweise diverse elemente verschluckt. sowie ich im xls-file die ersten 1 - 2 zeilen frei lasse, sind die daten über den DataReader vollständig. ich hab keine idee wo der fehler liegen könnte, sieht für mich in erster linie wie ein bug im .net framework aus, was ich ehrlich gesagt aber nicht glauben kann.

hier mal mein code:


string connectionString= @"Dsn=Excel Files;dbq=" + file + ";driverid=1046;maxbuffersize=2048;pagetimeout=5";
OdbcConnection conn = new OdbcConnection(connectionString);
OdbcCommand cmd = new OdbcCommand("Select * from [" + workdheet + "$]", conn);
conn.Open();
OdbcDataReader reader = cmd.ExecuteReader();

while (reader.Read())
{
	DataRow row = datatable.NewRow();
	Object[] values = new Object[reader.FieldCount];
	reader.GetValues(values);
	row.ItemArray = values;

    datatable.Rows.Add(row);
}

reader.Close();

ist die grundlegende vorgehensweise zum auslesen von excel-dateien mittels ODBC so richtig?

derzeit sind die daten in values nicht mit den daten im xls-file konsistent, wenn die daten im xls-file in erster zeile beginnen!

vielleicht hatte jemand ähnliche probleme und weiß einen rat.
danke vorab!

gruß,
Qwer

27.08.2008 - 10:08 Uhr

das lag daran, da ich die values in einem dictionary geliefert bekommen habe, die alle vom typ string waren. ich konnte mich gott sei dank mit meinem kollegen einigen diese als object zu liefern. so ist das nun mal in größeren systemen, da muss man sich zwangsläufig mit dem zufrieden geben, was man erhält.

26.08.2008 - 12:07 Uhr

ei is doch gut jetzt, und alle sind glücklich und zufrieden =)

26.08.2008 - 09:39 Uhr

ist gut herbivore, man muss nicht alles verstehen 😉

hauptsache JuyJuka hat mich verstanden und wiedermal kompetent unterstützt 🙂

25.08.2008 - 23:54 Uhr

manchmal ist es nicht so einfach mit der kommunikation 🙂

danke, sieht gut aus! mir fällt immer wieder auf das ich interfaces viel zu wenig nutze, das müsste ich mal ändern. 😉

25.08.2008 - 22:43 Uhr

langsam glaub ich das ich gegen einen baum rede....

wenn ich dem 2. parameter einfach nur als typ object übergebe, das property aber vom typ int oder string oder sonst was ist, wird ne exception geworfen....

ich lass das jetzt einfach mit den if-abfragen, ende gelände

25.08.2008 - 22:15 Uhr

das ist mir klar!

ich muss allerdings über alle properties iterieren da mir die properties zunächst nicht bekannt sind. das ist ja genau das problem! ergo bleibt mir nichts anderes übrig als über alle properties zu iterieren und jeden typ abzufragen:


if ("INT32" == propertyInfo.PropertyType.Name)
   propertyInfo.SetValue(oObject, Convert.ToInt32(value), null);
if("String" == propertyInfo.PropertyType.Name)
   propertyInfo.SetValue(oObject, value.ToString(), null);
...

und genau das war meine frage, wie kann man obiges intelligenter implementieren?

25.08.2008 - 19:52 Uhr

propertyInfo.SetValue(oObject, value, null);

ich muss doch dem zweiten parameter der SetValue methode den zu setzenden wert mit dem passenden typ übergeben. d.h. ich muss casten wenn value object ist und dazu muss ich wissen welcher typ erwartet wird!
@JuyJuka, ich hab kein wort verstanden!

  • wird meistens einfach abstürzen (da man z.B. einen string beim besten willen nicht in einem int-Property speichern kann Augenzwinkern ).

ist irgendwie logisch, muss man ansich nicht erwähnen...

ziel ist, wie im titel dieses threads, " Eigenschaft von unbekanntem Objekt setzen". evtl. reden wir aneinander vorbei.

24.08.2008 - 23:27 Uhr

tObjekt ist vom Typ System.Type und System.Type implementiert unter garantie nicht, die Properties, die du per GetProperties abgerufen hast, die werden nämlich durch den Typ implementiert, den die System.Type-Instanz tObjekt abbildet

stimmt, hab ich übersehn 🙂

Außerdem fehlt dir die Instanz/das Objekt vom Typ tObjekt und der Wert oObjekt passt unter garantie nicht in jedes Propety, da nicht jedes Property den gleichen Datentyp hat.

das ist mit jetzt auch aufgefallen. mit propertyInfo.PropertyType.Name könnte man den typ abfragen und entsprechend dann casten. dann müsste ich allerdings alle typen abfragen. gibt bestimmt ne bessere möglichkeit. hast du en tipp für mich?

24.08.2008 - 22:01 Uhr

Ah ok, danke... müsste dann so gehen:

public void Set(object target, string property, object value)  
{  
            try  
            {  
                Type type = target.GetType();  
                PropertyInfo prop = type.GetProperty(property);  
                prop.SetValue(target, value, null);  
            }  
            catch (Exception es) { }  
}  

Ciao SunboX

genau das versuche ich gerade auch zu machen, bekomme aber folgende fehlermeldung:
Das Objekt stimmt mit dem Zieltyp nicht überein

mein code:


        public void myMethode(Type tObject, object oValue)
        {
            foreach (PropertyInfo propertyInfo in tObject.GetProperties())
            {
                propertyInfo.SetValue(tObject, oValue, null);
            }
        }


mein code ist mit SunboX seinem ansich ja gleich. weiß jemand wo der fehler liegen könnte?

24.08.2008 - 10:17 Uhr

ich glaub das werde ich auch machen. eigentlich schade, das mappen der entities in tabellen funktioniert ansich schon ganz gut, nur eben datensätze schreiben scheint ein problem zu werden. naja, wie ist den die handhabung von nhibernate, kann man da gut mit arbeiten?

@JuyJuka
ist dein or-mapper zum download verfügbar?

23.08.2008 - 20:19 Uhr

das scheint schwieriger zu sein als ich dachte...

habe die obige methode versucht zu implementieren, entsteht nur reines chaos. ich glaub ich hab mir da etwas zu viel zu gemutet...


public void persists(object oModel)
        {
            foreach (object oTable in oModel.GetType().GetCustomAttributes(true))
            {
                TableAttribute table = (TableAttribute) oTable;
                string table_name = table.Name;

                foreach (PropertyInfo property in oModel.GetType().GetProperties())
                {
                    string col_name = property.Name;
                    object col_value = property.GetValue(oModel, null);

                    foreach (object oAttribute in property.GetCustomAttributes(true))
                    {
                        if ("dbtypeattribute" == oAttribute.GetType().Name.ToLower())
                        {
                            DBTypeAttribute dbType = (DBTypeAttribute) oAttribute;
                            string col_type = dbType.Name;
                        }
                        if("relationattribute" == oAttribute.GetType().Name.ToLower())
                        {
                            RelationAttribute relation = (RelationAttribute) oAttribute;
                            if("onetomany" == relation.Name.ToLower())
                            {

                                // over and out
                                
                            }
                        }
                    }
                }
            }
        }

das muss doch einfacher zu realisieren sein?! vielleicht kann mir ja noch jemand einen tipp geben.

23.08.2008 - 19:33 Uhr

hallo,

da wir leider noch .net 2.0 verwenden und es dabei auch noch für länger zeit bleiben wird und ich in einem EJB-Projekt das OR-Mapping lieben gelernt habe, würde ich das auch ganz gerne unter .net verwenden können. einige werden bestimmt jetzt sagen, verwende doch LINQ! nein, ich würde zudem auch ganz gerne mal, aus spass an der freut, einen eigenen OR-Mapper basteln.

nun gut, ich stoße dabei allerdings auf ein kleines problem und hoffe das der ein oder andere mir evtl. weiter helfen kann.

ich habe folgende entitäten: Year, Month, Day
die relationen dazu sind:
(1:N) Year -> Month
(1:N) Month -> Day

nun folgender code:


EntityManager entityManager = new EntityManager();

CModelYear year = new CModelYear();
CModelMonth month = new CModelMonth();
CModelDay day = new CModelDay();

// Unidirektional Verknüpfen (1:N jahr -> monate)
year.Monate.Add(month);

// Unidirektional Verknüpfen (1:N monat -> tage)
month.Tage.Add(day);

entityManager.persists(year); // datensatz schreiben

die persists-methode der EntityManager-klasse soll möglichst beliebige objekte annehmen können, da ja nicht immer der gleiche datensatz geschrieben wird. die methode liest die member der model-klassen aus und schreibt die enthaltenen informationen (im beispiel sind die konstruktoren der model-klassen lehr, der übersichtshalber) in die datenbank.

der rumpf der methode sieht so aus:


// schreibt informationen der jeweiligen model-klassen in die datenbank
public void persists(object oModel)
{
}

nun stehe ich vor einem problem, object lässt sich ja nicht iterieren. das problem wäre vielleicht gar kein problem, wenn ich mich besser mit c# auskennen würde. das nächste problem ist das der typ object gecastet werden muss, ich weiß aber nie welche objekte rein kommen. wie kann ich das am besten realisieren?

danke schon mal für die hilfe!

gruß,
qwer

23.08.2008 - 11:17 Uhr

hallo,

versuche mich gerade mit den Attributen in C# auseinander zu setzen. dazu hab ich auch direkt eine frage bzw. ein problem.

zunächst hier erst mal der code:


    class CModel
    {
        private string m_sVar1;
        private string m_sVar2;
        
        [MyAttr("foo")]
        public string Var1
        {
            get { return m_sVar1; }
            set { m_sVar1 = value; }
        }

        [MyAttr("bar")]
        public string Var2
        {
            get { return m_sVar2; }
            set { m_sVar2 = value; }
        }
    }

    class MyAttrAttribute : Attribute
    {
        private string m_sName;

        public MyAttrAttribute(string name)
        {
            m_sName = name;
        }

        public string Name
        {
            get { return m_sName; }
            set { m_sName = value; }
        }
    }

nun möchte ich gerne die zusatzinformationen zu Var1 und Var2 auslesen:


    class Program
    {
        static void Main(string[] args)
        {
            Type type = typeof(CModel);
            object[] x = type.GetCustomAttributes(true); // x ist lehr

        }
    }

GetCustomAttributes() liefert mir allerdings keine ergebnisse. ich finde den fehler nicht. kann mich da jemand aufklären?
danke vorab!

22.08.2008 - 19:37 Uhr

das sollte ja auch nur ein beispiel sein...

22.08.2008 - 19:36 Uhr

gut zu wissen! dann werde ich wohl SpreadsheetML bevorzugen.

was ist eigentlich mit open office xml? hab ich vor kurzem im dot.net magazine gelesen. ist das sowas wie SpreadsheetML?

22.08.2008 - 15:24 Uhr

Hallo qwer,

wenn ihr keinen Zugriff auf die Einstellungen des Servers habt, dann bleibt das die einzige Möglichkeit. Ich denke Smtp.Disconnect() und dann wieder Connecten, dürfte ausreichen. Das frisst zwar Traffic, aber es müsste gehen !

mfg
bluedragon

wie schließ ich denn eine session? üder das SmtpClient Objekt gibt es kein Disconnect() oder ähnliches.

22.08.2008 - 15:09 Uhr

mhm, muss nicht auf dem rechner auf dem die software läuft dann auch office installiert sein?

22.08.2008 - 13:39 Uhr

die größe der attachments lässt sich ja ohne weiteres ermitteln. wie siehts mit dem größe der session aus?

22.08.2008 - 12:09 Uhr

alles klar, danke für die tipps!

22.08.2008 - 09:53 Uhr

ok, ich lasse mich ja gerne eines besseren belehren.
wollen wir mal sehn wie sich folgende situation realisieren lässt...

datenbank-szenario:
wir haben mehrere stored procedures die im wesentlichen datensätz in eine bestimmte tabelle schreiben. hierfür könnte man eine dynamische funktion implementieren, die für die ausführung der jeweiligen stored procudure verantwortlich ist,
z.b callSP(string procedure_name, dictionary<string, object> params_for_procedure)

params_for_procedure enthält die nötigen eingangsparameter der strored procedure, also den zu schreibenden datensatz. der schlüssel des dictionarys enthält den parametername und der wert des dictionarys enthält den zu schreibenden wert. der wert kann natürlich von beliebigem typ sein, je nach dem welche spalte ich in meiner tabelle befüllen will.

z.b. soll eine tabelle adresse befüllt werden, als spalten gibt es PLZ vom typ int und Anschrift vom typ string.

22.08.2008 - 09:27 Uhr

beschäftigt sich keiner mit Modellierung?

20.08.2008 - 15:45 Uhr

hi,

was könnt ihr denn so empfehlen bzgl. modeling software? ich persönlich finde Visual Paradigm for UML nicht schlecht? Vielleicht gibt es auch was interessantes als Addon für visual studio 2005?

gruß,
qwer

20.08.2008 - 13:37 Uhr

hallo,

wir haben in unserer anwendungen eine mail-klasse die mehere mails pro sitzung mit attachment versendet. das attachment pro mail ist nicht sonderlich groß, ca. 300kb. die gesamtanzahl der mails kann je nach verarbeitung beliebig groß sein, die mails werden an verschiedene empfänger gesendet.

je nach größe der attachments und anzahl der mails erhalten wir folgende fehlermeldung:

552 4.3.1 Session size exceeds fixed maximum session size...

auf die konfiguration des smtp-servers haben wir keinen einfluss, d.h. wir müssen das problem im code selbst beheben. meine frage, kann man die größe der session irgendwie auslesen, wenn ja wie? ansonsten müsste man hingehen, die attachment größe je mail summieren und ab einer bestimmen größe die session schließen und eine neue öffnen. was meint ihr dazu? bin für jeden tipp dankbar!

gruß,
qwer

20.08.2008 - 12:07 Uhr

ganz einfach:


int sizeOfAttachment = MailMessage.Attachments.Item(i).ContentStream.Length

interessant wäre auch zu wissen, wie man die größe der SMTP-Session auslesen kann. Geht das überhaupt? Hab zumindest über das SmtpClient-Objekt nichts finden können.

gruß,
qwer

14.08.2008 - 12:05 Uhr

ei gut, dann muss ich mich wohl mit dieser unschönen lösung zufrieden geben.